我使用我在互联网上获得的示例代码,jquery部分是:
$.ajax({
url: punctis_content_url + "?url=" + encodeURIComponent(document.URL),
dataType: 'jsonp',
success:function(json){
alert(json);
},
error:function(){
alert("Error");
}
});
远程服务器上的php是:
$arr = array('URL' => $trackUrl, 'param2' => "element2");
echo($_GET['callback']."(".json_encode($arr).");");
这工作正常,我收到了来自jquery的警报,如果我直接调用我得到的服务器脚本:jsonp1357658534513({"URL":"http:\/\/infoabout.me\/punctis\/punctis.php","param2":"element2"});
问题是,如何生成回调代码?这意味着什么?以及我如何从该json检索数据(URL和param2)因为只使用json.URL不起作用。感谢。
答案 0 :(得分:0)
json
是一个javascript对象。只需从其属性中提取数据即可。
alert(json.URL) // $trackUrl value
alert(json.param2) // element2
答案 1 :(得分:0)
jsonp是通过包装javascript函数调用生成的json字符串创建的,对此的PHP示例如下:
$callbackFunction = $_GET['callback'];
echo $callbackFunction . "(" . json_encode($object) . ")";
现在,一旦检索到jsonp函数被调用,这个函数可以使用jQuery,dojo或其他js框架自动连接,或硬编码,你可以,例如编写以下函数,它会在您的具体情况下调用。祝你好运!
function jsonp1357658534513(string){
console.log(string);
}