Javascript跨域和Ajax跨域解决方案总结

Javascript跨域和Ajax跨域解决方案总结,第1张

1.什么引起了ajax跨域不能的问题
ajax本身实际上是通过XMLHttpRequest对象来进行数据的交互,而浏览器出于安全考虑,不允许js代码进行跨域 *** 作,所以会警告或者直接不执行。

例如A网址通过js请求B网址内容,通过浏览器检测,出现下面错误,就表示浏览器禁止跨域请求

2.有什么完美的解决方案么?
暂时没有。解决方案有不少,但是只能是根据自己的实际情况来选择。

网上的方法很多,可以百度下,下面是我的方法
①、A网址将ajax请求到本域名下的控制器,然后在本域名下的控制器,例如php的file_get_contents或者curl请求外部B网站url数据,然后返回给自己域名下的JS

②、使用jquery ajax数据类型改为 dataType : 'jsonp';具体用法自行百度JSONP就不一一阐述了。我自己将这个项目用在了微信轮播项目中

③、如果B网站是自己的,那么只需修改服务器配置,下面举例说明IIS设置跨域

打开IIS控制面板,找到域名下的“HTTP响应标头”

打开http响应头,分别添加下面2个参数

Access-Control-Allow-Headers:Content-Type, api_key, Authorization

Access-Control-Allow-Origin:*

完成后如下图

欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/web/1297762.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-10
下一篇 2022-06-10

发表评论

登录后才能评论

评论列表(0条)

保存