ajax请求跨域问题分析与解决

ajax请求跨域问题分析与解决

一. ajax请求跨域分析:

跨域问题来源于JavaScript的同源策略,即只有 协议+域名+端口号 (如存在)相同,则允许相互访问,若是协议,域名,端口号有一个不同就会发生跨域问题。
1.浏览器限制
2.跨域
3.XHR(XMLHttpRequest)请求

二.解决思路

这里写图片描述
1.解决浏览器限制问题:通过设置浏览器的一个请求头参数。缺点:不能每个访问的浏览器客户端都进行限制
2.使用jsonp的方式,解决请求为xhr的类型
这里写图片描述
3.解决跨域问题,修改调用方或者修改被调用方的代码。

三.实用解决方案

  • 1.jsonp的解决方法

    1.1.jsonp的callback方式:
    动态创建一个script脚本,来解决跨域
    1.2.ajax请求
    这里写图片描述
    此请求会自动追加一个callback参数,一般带callback参数的请求都会认为jsonp请求,会返回jsonp的数据,否则则是普通的请求。
    这里写图片描述
    jsop的返回值
    这里写图片描述
    其中,callback值作为javascript的方法名,而jsop值作为参数返回
    1.3.jsonp的缺点
    1.要修改后台代码
    2.只支持get请求
    3.发送的不是xhr请求

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值