开发者社区> 问答> 正文

jquery 跨域 请求 json 请求数据成功,但控制台报错Uncaught ?400报错

jquery 跨域 请求 json 请求数据成功,但控制台报错Uncaught SyntaxError: Unexpected token :? 400 报错

最近使用jquery 跨域请求数据,遇到一个奇怪问题,试了好多方法,依然不能解决下面的问题:()

控制台死活都是报错:

Uncaught SyntaxError: Unexpected token :

请求方式(getJSON等都试了,报错一样):

$.ajax({
			type:"get",
			url:url,
			dataType:"jsonp",
			success: function (data) {
			var result = JSON.stringify(data);
                  console.log(result);
                    }
				});

请求的数据是正常返回的,可就是获取不到,:

展开
收起
爱吃鱼的程序员 2020-05-30 21:10:37 732 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    把响应内容贴出来看下

    ######
    $.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format
    =json&jsoncallback=?", function(data){
      $.each(data.items, function(i,item){
        $("<img/>").attr("src", item.media.m).appendTo("#images");
        if ( i == 3 ) return false;
      });
    });
    ######

    chrome最新版的控制台,返回json的接口要声明text/json。或者你eval一下返回数据看看

    ######

    jsonp是要传递一个回调函数名称给服务端,如 :

    dataType: "jsonp",  //使用jsonp
    jsonp: "jsonpCallback", //callback函数名称

    服务端返回的字符串则会是 jsonCallback({"a": "1", "b":"2"}) 这样的代码

    然后你还需要在你客户端的页面上实现这一回调函数:

    function jsonpCallback(json){
        console.debug('a='+json.a+', b='+json.b);
    }

     

    ######

    把响应内容贴出来看下

    ######

    引用来自“依然菜刀”的评论

    把响应内容贴出来看下

    返回的数据

    ######

    引用来自“Tuesday”的评论

    $.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format
    =json&jsoncallback=?", function(data){
      $.each(data.items, function(i,item){
        $("<img/>").attr("src", item.media.m).appendTo("#images");
        if ( i == 3 ) return false;
      });
    });

    搜了很多,大概知道为什么了,看了这个帖子,跟我的解决方案一样,都是在服务端使用http请求获取数据后,再通过ajax请求数据

    https://my.oschina.net/u/1187799/blog/296865

    ######

    https://my.oschina.net/tp123/blog/1506646 希望 能给你帮助

    ######谢谢,不过我请求的api是别的服务器上的,目前我的解决方案是用ajax同源请求自己的服务然后通过后端模拟http请求获取数据######

    前后台改成这样 就可以了

    ######

    2020-05-30 21:10:38
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
DTS控制台一本通 立即下载
低代码开发师(初级)实战教程 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载