赞
踩
$.ajax({
url:"http:XXX.XXX.xom/XX.php",
dataType:"jsonp",
processData: false,
type:"get",
jsonp:"jsoncallback",//注意这点:不设置默认为"callback"
success:function(data){
console.log(data);
},
error:function(XMLHttpRequest, textStatus, errorThrown){
console.log(XMLHttpRequest.status);
console.log(XMLHttpRequest.readyState);
console.log(textStatus);
}
})
报错提示“parsererror”
查了好多网上所谓的解决方案,写的好多但是不适用(程序员果然写不了文章)
问题根源是跨域后ajax是根据get传统函数调用实现数据获取的
需要在服务端通过get获取callback值然后拼接到需要返回的json传前面
php示例:
<?php
$a['a'] = 1;
$a['b'] = 1;
$callback = $_GET['jsoncallback'];//关键是这个。若是在ajax()内设置了jsonp:"jsoncallback",那么填写jsoncallback,本王上面设置了,没有设置则直接填写callback(默认值)
exit($callback."(".json_encode($a).")");
?>
问题得以解决,希望能对大家有所帮助
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。