ajax实现跨域请求的三种方法

本文介绍了跨域的基本概念,包括域名组成的各个部分以及不同域之间的请求原理。详细解释了两种主要的跨域解决方法:代理服务器方式和JSONP方式,并探讨了它们各自的适用场景和技术特点。

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

跨域的概念

域名的组成:协议号(http)//子域名(www).主域名(google):端口号(8888)

当协议、子域名、主域名、端口号中任意一个不相同时,就认为他们是不同的域。不同的域之间请求资源,叫做跨域请求



实现跨域的第一种方法–代理

比如在北京和上海都有一台服务器,北京的后端直接访问上海的服务器进行数据获取,北京的前端只需要对北京的服务器进行数据请求即可返回数据;他属于后台的技术


实现跨域的第二种方法–JSONP
在html中我们可以发现,script引入的js文件可以进行跨域,img图片也可以进行跨域,iframe嵌入的html文件也可以进行跨域;似乎在html中src属性的值可以进行跨域;
JSONP的实现简单来说,就是动态生成js文件,然后嵌入到html中进行渲染,从而实现了跨域;目前jsonp只支持get请求而不支持post请求;
在jquery中,将jsonp归入了ajax格式,而在本质上他们两个是不同的东西;ajax的核心是通过XmlHttpRequest获取非本页内容,而jsonp的核心则是动态添加
response.setHeader( "Access-Control-Allow-Origin:*" );
respone.setHeader( "Access-Control-Allow-Methods:POST,GET" );


源文档参考自:http://www.jb51.net/article/68424.htm
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值