使用JSONP。
jQuery的:
$.ajax({ url:"testserver.php", dataType: 'jsonp', // Notice! JSONP <-- P (lowercase) success:function(json){ // do stuff with json (in this case an array) alert("Success"); }, error:function(){ alert("Error"); } });PHP:
<?php$arr = array("element1","element2",array("element31","element32"));$arr['name'] = "response";echo $_GET['callback']."(".json_enpre($arr).");";?>回声可能是错误的,因为我使用过php已经有一段时间了。无论如何,您都需要输出
callbackName('jsonString')引号。jQuery将传递它自己的回调名称,因此您需要从GET参数中获取该名称。正如Stefan Kendall 所说,$.getJSON()是一种简写方法,但是您需要将
'callback=?'它作为GET参数追加到url(是,值是?,jQuery用它自己生成的回调方法替换了它)。



