jQuery中AJAX的跨域解决方案

本文介绍了在使用jQuery的AJAX方法时遇到的跨域问题及其解决办法,包括通过服务端添加响应头、使用JSONP及CORS等技术手段实现跨域请求。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

jQuery中封装了ajax的方法,以下主要讨论在这种方法下跨域的问题

1. 在服务端添加响应头

  header('Access-Control-Allow-Origin',  '*')
  header('Access-Control-Allow-Methods', 'PUT,POST,GET,DELETE,OPTIONS')

显然这种方法需要你能够修改服务端的代码
使用这种方法在谷歌浏览器下依然可能会有限制,可能会有报错”Origin null is not allowed by Access-Control-Allow-Origin”,一个解决方法是将文件都放到一个服务器上,第二个解决方式右键谷歌浏览器,点击属性,在位置后面加上–disable-web-security

2.jsonp

这是一种伪跨域的方法,将ajax方法发生的参数中加上datatype:jsonp,
这种方法只支持GET,不支持POST,而且传回的数据大小有限制。
还有一点要注意的是,jsonp的格式与json略有不同,要对传回的格式加以修改才行


然而在无法修改服务端代码的情况下,上面的方法显然不够,这里推荐cors的方法,这里推荐阮一峰的博客或者查MDN

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值