最近5个小时,我一直在尝试将json对象发布到PHP脚本中。我已经阅读了所有文档,似乎代码应该可以,但事实并非如此。发出并接收到请求,但是我无法访问发布的json数据,甚至不知道它是否已正确发送。我不断得到一个空的php数组,而不是json数据。
NSString *jsonString = [self.tableDataSource JSONRepresentation]; NSURL *url = [NSURL URLWithString:@"http://myserver.com/test.php"]; ASIHTTPRequest *request = [ASIHTTPRequest requestWithURL:url]; [request addRequestHeader:@"User-Agent" value:@"ASIHTTPRequest"]; [request addRequestHeader:@"Content-Type" value:@"application/json"]; [request appendPostData:[jsonString dataUsingEncoding:NSUTF8StringEncoding]]; [request startSynchronous];
这是php脚本(test.php)
$handle = fopen('php://input','r'); $jsonInput = fgets($handle); $decoded = json_decode($jsonInput,true); print_r($decoded);
我正在使用来自https://github.com/pokeb/asi-http- request.git的最新ASIHttpRequest代码
我究竟做错了什么?????
欢呼,旅行。
找到了问题。我在apache vhost配置中进行了SSL重定向。使用tcp数据包嗅探器找到它。一旦我删除了重定向,我就可以通过以下方式接收json数据:
感谢所有提供帮助的人。