当前位置:   article > 正文

AJAX跨域parsererror报错_跨域 parsererror

跨域 parsererror
$.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);
                }
            })
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15

报错提示“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).")");
?>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

问题得以解决,希望能对大家有所帮助

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/108786
推荐阅读
相关标签
  

闽ICP备14008679号