function dzxczx(d) {
console.log(d);
}
$('.btn').click(function() {
$.ajax({
url : 'https://www.baidu.com/',
type : 'GET',
dataType : "jsonp",
jsonp : "callback",
success : function (d) {
console.log(d);
},
})
})
请问通过jsonp跨域 出现的语法错误要怎么解决啊?
Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
同上的,jsonp的原理其实就是返回一个字符串,字符串中是一个函数。比如像这样:
jsonp(){return /*这里就是服务器返回的真正的数据*/},再具体点就是这样jsonp(){return "123";},然后你拿到这个字符串,要么把它加入到script标签中去,就能够在下面调用var data = jsonp();得到数据了。最终原理是:ajax不能跨域,但是 script 标签中引用的地址能够跨域啊,通过这样间接获取数据(蛋疼)。如果会 后端语言(jsp、php、asp),就在后面写一个代理算了,感觉那样和谐点
谢谢邀请。如楼上几位所说
ajax跨域jsonp是需要有jsonpCallback回调函数的。参考如下jsonp跨域需要服务端返回类似
的数据,百度返回的是首页的html,jsonp无法解析,当然报错。
你这是jsonp请求,那你的回调呢?
先好好看看jsonp是什么然后回过头来再写
先搞懂啥是jsonp。。
请先搞清楚如何使用 ajax 跨域请求,不是随便一个 url 就能给你用的,再指出一个错误,dataType 并没有
'jsonp' 这个配置项。