get请求与post,跨域

本文介绍了HTTP请求中的GET和POST方法,并详细解释了跨域资源共享(CORS)的工作原理及其实现方式。同时,还介绍了图像ping和JSONP两种跨域技术。

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

1、get是最常见的请求类型,常用于向服务器查询某些信息,必要时可以将查询字符串参数追加到url的末尾,以便将信息发送给服务器。

对XHR来说位于传入open()方法的url末尾的查询字符串必须经过正确的编码才行。

2、post请求

使用频率仅次于get请求,通常用于向服务器发送应该被保存的数据,post请求应该把数据作为请求的主体提交,而get请求传统上不是这样。post请求的主体可以包含非常多的数据,而且格式不限。

 跨域源资源共享:

cors:使用自定义的http头部让浏览器与服务器进行沟通,从而决定请求或响应应该成功还是失败。在发送请求时需要给它附加一个额外的origin头部

IE对cors的实现:引入了XDR类型

其他跨域技术

1、图像ping

动态创建图像经常用于图像ping,图像ping 是与服务器进行简单、单向的跨域通信的一种方式。请求的数据是通过查询字符串的形式发送的,而相应可以是任意内容,但通常是像素图或204响应。通过图像ping浏览器得不到任何具体的数据,但是通过侦听load和error事件,能知道响应是什么时候接收到的。

2、jsonp

jsonp看起来与json差不多,只不过是被包含在函数调用中的JSON,就像下面这样

callback({"name":"Nicholas"});

jsonp由两部分组成:回调函数和数据。回调函数是当响应到来时应该在页面中调用的函数。回调函数的名字一般是在请求中指定的。回调函数的名字一般是在请求中指定的,而数据就是传入回调函数中的json数据,下面是一个典型的jsonp请求

http://freegeoip.net/json/?callback = handleResponse

jsonp是通过动态<script>元素来使用的,使用时可以为src属性指定一个跨域url,这里的<script>与<img>元素类似,都有能力不受限制的从其它域加载资源,因为jsonp是有效的js代码,所以在请求完成后,即在jsonp响应加载到页面中以后就会立即执行。

 

function handleResponse(response){
  alert('you are at ip address' + response.ip +",which is in"+response.city+","+response.region_name);
}
var script = document.createElement("script");
script.src = "http://freegeoip.net/json/?callback = handleResponse";
document.body.insertBefore(script,document.body.firstChild);

 

转载于:https://www.cnblogs.com/lu-yangstudent/p/8177196.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值