jquery ajax使用jsonp跨域设置jsonp: "callback"后端是不是也要判断下?

图片描述

图片描述

图片描述

后端给了我一个json接口,我在本地调用,所以用的是jsonp去跨域。但是直接输出“fail”,报了上图1的错误,点进去是图2直接是数据报错。是不是说明跨域成功了,但后端那有错误?

$.ajax({
            type : "get",
            async:false,
            url : url;,
            dataType : "jsonp",
            jsonp: "callback"
            success : function(json){
                alert(json);
                alert(json[0].name);
            },
            error:function(){
                alert('fail');
            }
        });

我设置一个jsonp: "callback",后端那是不是也要获取判断下,是不是这个问题造成的?

谢谢大家的帮助,问题解决了是后端给我返回的数据不是按照jsonp的格式返回的。

阅读 4.3k
评论
    7 个回答

    服务端需要处理
    这是我司对于接口返回结果的处理方法

    if ($_GET['callback']) {
            $data = json_encode(['message' => $msg, 'code' => $code, 'return' => $data]);
            $callBack = isset($_GET['callback']) ? $_GET['callback'] : DEFAULT_CALLBACK;
            die($callBack . '(' . $data . ')');
        }
      相似问题
      推荐文章