我正试图从我的服务器访问php页面,但没有回复。下面的代码应该没问题,因为当我将我的站点地址(site1111111)更改为另一个(site222222)时,代码可以正常工作。 site2使用JSON.aspx,我不知道代码,但返回:
{aaaa:false}
编辑和添加:不确定是否重要,当我说site1111111时,它实际上是site222222 /子文件夹/。结束编辑。
我的PHP代码是简单的测试,只需填充相同的json字符串:
<html><body>
$arr = array ('aaaa'=>false);
echo json_encode($arr);
</body></html>
iOS应用代码在此处:
NSString *urlString = @"http://site111111111111111111/welcome.php";
//urlString = @"http://site222222222222/JSON.aspx?function=ffff&item=aaaa";
NSURL *url = [NSURL URLWithString:urlString];
NSError *error;
NSData *data = [NSData dataWithContentsOfURL:url options:NSDataReadingUncached error:&error];
NSLog(@"%@", data);
//<7b226973 64696769 74616c22 3a66616c 73657d> //print data from site2222222
//<3c68746d 6c3e0d0a 3c626f64 793e0d0a 0d0a3c21 2d2d5765 6c636f6d 65203c62 723e0d0a 596f7572 20656d61 696c2061 64647265 73732069 733a200d 0a2d2d3e 0d0a0d0a 7b226973 64696769 74616c22 3a66616c 73657d0d 0a3c2f62 6f64793e 0d0a3c2f 68746d6c 3e0d0a> //data from site11111
if (error)
{
NSLog(@"error==%@==",[error localizedDescription]);
}
else
{
NSLog(@"no error for request"); //both site1111 and site2222 print this out
NSError *errorInJsonParsing;
NSDictionary *json = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:&errorInJsonParsing];
if(errorInJsonParsing)
{
NSLog(@"error in json==%@==",[error localizedDescription]);
}
else
{
if ([[json valueForKey:@"aaaa"] boolValue] ) {
NSLog(@"YES");
} else {
NSLog(@"NO");
}
}
}
运行代码时,我得到了json,从if if if(errorInJsonParsing)打印。
我不知道是否遗漏了连接我的php和ios请求的任何内容。请帮忙。 TIA!
答案 0 :(得分:0)
site1111没有返回json,它正在返回html。如果您解码这些十六进制字节,您将看到:
<html>
<body>
<!--Welcome <br>
Your email address is:
-->
{"isdigital":false}
</body>
</html>
修复网站,使其返回json,你应该好好去。