Как всегда, я искал форумы и немного погуглил, не имея возможности понять, что я делаю не так. Поэтому я обращаюсь к великим умам, часто посещающим этот сайт, в надежде найти ответ.
Как всегда, я искал на форумах и гуглил себя немного безумно, не имея возможности понять, что я делаю не так. Поэтому я обращаюсь к великим умам, часто посещающим этот сайт, в надежде найти ответ.
Как всегда, я искал на форумах и гуглил себя немного безумно, не имея возможности понять, что я делаю не так. Поэтому я обращаюсь к великим умам, часто посещающим этот сайт, в надежде найти ответ. Я создаю приложение, которое будет взаимодействовать с базой данных, и при этом я пытаюсь научиться использовать JSON для извлечения и отправки данных в базу данных через iPhone, используя различные примеры, найденные в Интернете. Мне удалось получить данные из Интернета с помощью JSON и показать их в виде таблицы, однако, когда я пытаюсь отправить данные POST, похоже, ничего не работает. По сути, у меня есть простой php-скрипт, который должен записывать полученные данные в текстовый файл (см. Ниже).
<?php
//header('Content-type: application/x-json');
$myFile = "testFile.txt";
$fh = fopen($myFile, 'w') or die("can't open file");
$stringData = var_dump($_POST);
fwrite($fh, $stringData);
$stringData = "=== JSON Decoded ===";
fwrite($fh, $stringData);
$stringData = $_POST["tmp"];
fwrite($fh, json_decode($stringData));
$stringData = "=== JSON Decoded ===";
fwrite($fh, $stringData);
fclose($fh);
?>
Проблема в том, что скрипт, кажется, ничего не получает. При публикации в нем создается файл, который выглядит следующим образом. Таким образом, он создает файл и все такое, но в нем просто ничего нет.
=== JSON Decoded ====== JSON Decoded ===
Приведенный ниже код является моим методом POST в XCode.
-(IBAction)poststuff:sender{
NSString *stuffToPost = [[NSString alloc] initWithFormat:@"Work, damn you!"];
NSURL *jsonURL = [NSURL URLWithString:@"http://localhost:8888/iWish/json_post.php"];
NSData *postData = [stuffToPost dataUsingEncoding:NSASCIIStringEncoding allowLossyConversion:YES];
NSString *postLength = [NSString stringWithFormat:@"%d", [postData length]];
NSLog(@"Stuff I want to POST:%@", stuffToPost);
NSLog(@"Data I want to POST:%@", postData);
NSMutableURLRequest *request = [[[NSMutableURLRequest alloc] init] autorelease];
[request setURL:jsonURL];
[request setHTTPMethod:@"POST"];
[request setValue:postLength forHTTPHeaderField:@"Content-Length"];
[request setValue:@"application/x-www-form-urlencoded" forHTTPHeaderField:@"Content-Type"];
[request setHTTPBody:postData];
NSError *error;
NSURLResponse *response;
NSData *serverReply = [NSURLConnection sendSynchronousRequest:request returningResponse:&response error:&error];
NSString *data = [[NSString alloc] initWithData:serverReply encoding:NSUTF8StringEncoding];
NSLog(@"Raw Data:", data);
}
Консоль выглядит так при запуске метода и записи пустого текстового файла:
2010-10-04 14:10:16.666 iWish[38743:207] Stuff I want to POST:Work, damn you!
2010-10-04 14:10:16.668 iWish[38743:207] Data I want to POST:<576f726b 2c206461 6d6e2079 6f7521>
2010-10-04 14:10:16.673 iWish[38743:207] serverReply:
Мне кажется, что данные есть, отформатированы и еще много чего, но по какой-то причине не отправляются и не принимаются. Надеюсь, что где-то в коде есть какая-то дурацкая ошибка, раз уж я смотрел на это уже два дня.
Буду признателен за любую помощь. Спасибо!