2013-06-21 58 views
0

我用ASIHTTPRequest很多次都沒有任何問題,發佈的數據,在過去的PHP腳本。這是我第一次嘗試發送JSON,但無法使其工作。ASIHTTPRequest - 發佈JSON到PHP

NSError *error = nil; 
NSMutableDictionary *jsonDict = [NSMutableDictionary dictionaryWithObjects:objectArray forKeys:keyArray]; 
[jsonDict setObject:email forKey:@"email"]; 
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:jsonDict options:NSJSONWritingPrettyPrinted error:&error]; 

NSURL *url = [NSURL URLWithString:@"http://192.168.1.12:8888/Folder/script.php"]; 
__block ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url]; 
[request setRequestMethod:@"POST"]; 
[request appendPostData:jsonData]; 
[request addRequestHeader:@"Content-Type" value:@"application/json"]; 

[request setCompletionBlock:^{ 
    NSString *responseString = [request responseString]; 
    NSLog(@"finished text: %@", responseString); 
}]; 

[request setFailedBlock:^{ 
    NSError *error = [request error]; 
    NSLog(@"failed: %@", error); 
}]; 

[request startAsynchronous]; 

PHP腳本,現在只是

<?php print_r($_POST); ?> 

導致:陣列()。什麼都沒有通過。任何想法可能是什麼問題?

回答

1

這不是你的Objective-C代碼的問題,而是你的PHP腳本。見this answer。當發送數據不是application/x-www-form-urlencoded時,您必須從php://input讀取數據。