
用jQuery+JSONP解决跨域访问,edge浏览器不行,其他浏览器都可以,这是为什么,如何解决? 10
1个回答
展开全部
JSONP是兼容旧浏览器所使用的一种跨域技术,虽然缺点多,但强在所有版本浏览器都支持,因为它使用是浏览器脚本加载技术。edge浏览器不可以不行。
用jQuery去学JavaScript,有点不合适,虽然方便好用,一有问题就懵。
JSONP是由数据和回调函数组成的
回调函数:当响应到时,在页面中的数据处理函数;回调函数的名字一般在请求前指定。
而数据是传入回调函数的JSON数据。
例子:
<script>
function loadPhotos(data) {
if (data.stat == 'ok') {
}
};
</script>
<script src="https://api.flickr.com/services/rest/?format=json
&jsoncallback=loadPhotos&api_key=<YOUR API KEY HERE>"></script>
追问
追答
几天没上百度了,刚才看到
jQuery的ajax具体操作不懂,我跨域不用jQuery,实在不知你上面的代码什么意思,只知道jQuery这么地方:
jQuery不支持同步中进行跨源请求。
如果你的请求中有用户凭证,则需要XMLHttpRequest对象的withCredentials属性
浏览器有同源策略的。主要是比较请求头的中Origin值与请求的URL来判断同源还是跨源的。浏览器只是客户端跟服务器的一个中介,权限(限制)在于服务器端。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询