jQuery $.ajax()发送jsonp,Uncaught SyntaxError: Unexpected token :

发布于 2022-09-06 04:57:42 字数 681 浏览 13 评论 0

jQuery $.ajax()发送jsonp请求,报错:Uncaught SyntaxError: Unexpected token :
请求的url是别的网站的api(我管不了该api),请求成功了,拿到了响应,但却一直报错。
我试了网上的很多方法 ,都没用。 请问怎么解决?

$.ajax({

    url:'xxxx',
    success:function(data){
       console.log(data);
    },
    dataType:'jsonp',
  })

图片描述

图片描述

图片描述

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

罪歌 2022-09-13 04:57:42

?什么意思,你把报错信息全部截图出来看看,具体是哪一行,哪些代码出错,还有你请求成功后打印的内容也截图

东北女汉子 2022-09-13 04:57:42

是不是api返回的数据格式有问题,看看他返回的是json格式吗?还是一个数组


这个响应是响应了,不过响应的应该是返回的错误代码吧?一般谁返回0啊

救星 2022-09-13 04:57:42

你请求的是jsonp类型,期望中返回的应该是被 callback 包围的一段函数调用语句,如 callback({"status":1,"data":0}),你这个直接返回的是json,自然会提醒类型错误

Jsonp原理:
首先在客户端注册一个callback, 然后把callback的名字传给服务器。此时,服务器先生成 json 数据。
然后以 javascript语法的方式,生成一个function , function 名字就是传递上来的参数 jsonp. 最后将json 数据直接以入参的方式,放置到 function 中,这样就生成了一段 js 语法的文档,返回给客户端。客户端浏览器,解析script标签,并执行返回的 javascript 文档,此时数据作为参数,传入到了客户端预先定义好的 callback 函数里.(动态执行回调函数)

参考 https://blog.helloarron.com/2...

妄断弥空 2022-09-13 04:57:42

您好,想问下这个问题最后怎么解决的?

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文