ajax调用返回php接口返回json数据的方法(必看篇)
php代码如下:
js代码如下:
其中遇到了两个问题:
1、第一个问题:
UncaughtSyntaxError:Unexpectedtoken:
解决方案如下:
Thishasjusthappenedtome,andthereasonwasnoneofthereasonsabove.IwasusingthejQuerycommandgetJSONandaddingcallback=?touseJSONP(asIneededtogocross-domain),andreturningtheJSONcode{"foo":"bar"}andgettingtheerror.
ThisisbecauseIshouldhaveincludedthecallbackdata,somethinglikejQuery17209314005577471107_1335958194322({"foo":"bar"})
HereisthePHPcodeIusedtoachievethis,whichdegradesifJSON(withoutacallback)isused:
$ret['foo']="bar"; finish(); functionfinish(){ header("content-type:application/json"); if($_GET['callback']){ print$_GET['callback']."("; } printjson_encode($GLOBALS['ret']); if($_GET['callback']){ print")"; } exit; }
Hopefullythatwillhelpsomeoneinthefuture.
2、第二个问题:
解析json数据。从上面的javascript中可以看到,我没有使用jquery.parseJSON()这些方法,开始使用这些方法,但是总是会报
VM219:1UncaughtSyntaxError:UnexpectedtokenoinJSONatposition1的错误,后来不用jquery.parseJSON()这个方法,反而一切正常。不知为何。
以上这篇ajax调用返回php接口返回json数据的方法(必看篇)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持毛票票。