AJAX跨域问题

AJAX跨域问题

1.什么是AJAX跨域问题

       前后端分离开发的模式下,存在前端页面只能请求同一个域下的后端接口,如果不是同一个域,就会产生跨域问题。
在这里插入图片描述

2.为什么会发生AJAX跨域?

1.浏览器限制,并而不是服务器后台不允许调用。
2.跨域:协议,域名(IP),端口,任何一个不一样,浏览器就会认为是跨域
3.我们发送的是XHR(XMLHttpRequest请求)

3.解决思路

1.浏览器限制:我们跨域通过指定参数,让浏览器不作限制,这种方法意义不大,需要每一个浏览器客户端都做限制不现实。
2.XHR,只要我们发送都请求不是XHR类型的,就算是跨域的,浏览器页不会报跨域安全问题。基于这个思路,我们的解决方案是JSONP。
3.跨域,1.被调用方修改代码(支持跨域),支持基于http协议关于跨域方面的要求而做的修改。2.调用方修改代码(隐藏跨域),通过一个代理,在浏览器发送出去都是a域名的请求,在代理里面,都转到b域名里面。这样浏览器看上去就算同一个域名,就不会发生跨域。

4.浏览器禁止检查

浏览器通过终端打开:
windows:

chrome.exe–disable-web-security -user-data-dir=/Users/seeker/webtrash

mac:

open -n /Applications/Google\ Chrome.app/ --args --disable-web-security  --user-data-dir=/Users/seeker/webtrash

(mac中/Applications/Google Chrome.app是谷歌浏览器的位置,这里需要注意用""表示跳脱字符将特殊字符变成一般字符(如enter,$,空格等))
(-user-data-dir= /Users/seeker/webtrash 表示浏览器禁止安全检查的临时存放数据目录)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值