<div id="cnblogs_post_body" class="blogpost-body">
概述
“伪”AJAX
</td>
<td class="code">
<div class="container">
<div class="line number1 index0 alt2"><code class="python plain"><!DOCTYPE html>
<div class="line number2 index1 alt1"><code class="python plain">
<div class="line number3 index2 alt2">
<div class="line number4 index3 alt1"><code class="python spaces"><code class="python plain"><head lang<code class="python keyword">=<code class="python string">"en"<code class="python plain">>
<div class="line number5 index4 alt2"><code class="python spaces"><code class="python plain"><meta charset<code class="python keyword">=<code class="python string">"UTF-8"<code class="python plain">>
<div class="line number6 index5 alt1"><code class="python spaces"><code class="python plain"> <<code class="python keyword">/<code class="python plain">title>
<div class="line number7 index6 alt2"><code class="python spaces"><code class="python plain"><<code class="python keyword">/<code class="python plain">head>
<div class="line number8 index7 alt1">
<div class="line number9 index8 alt2"><code class="python spaces"><code class="python plain">
<div class="line number10 index9 alt1">
<div class="line number11 index10 alt2"><code class="python spaces"><code class="python plain">
<div class="line number12 index11 alt1"><code class="python spaces"><code class="python plain"> 请输入要加载的地址:<span <code class="python functions">id<code class="python keyword">=<code class="python string">"currentTime"<code class="python plain">><<code class="python keyword">/<code class="python plain">span><<code class="python keyword">/<code class="python plain">p>
<div class="line number13 index12 alt2"><code class="python spaces"><code class="python plain">
<div class="line number14 index13 alt1"><code class="python spaces"><code class="python plain"><<code class="python functions">input <code class="python functions">id<code class="python keyword">=<code class="python string">"url" <code class="python functions">type<code class="python keyword">=<code class="python string">"text" <code class="python keyword">/<code class="python plain">>
<div class="line number15 index14 alt2"><code class="python spaces"><code class="python plain"><<code class="python functions">input <code class="python functions">type<code class="python keyword">=<code class="python string">"button" <code class="python plain">value<code class="python keyword">=<code class="python string">"刷新" <code class="python plain">onclick<code class="python keyword">=<code class="python string">"LoadPage();"<code class="python plain">>
<div class="line number16 index15 alt1"><code class="python spaces"><code class="python plain"><<code class="python keyword">/<code class="python plain">p>
<div class="line number17 index16 alt2"><code class="python spaces"><code class="python plain"><<code class="python keyword">/<code class="python plain">div>
<div class="line number18 index17 alt1">
<div class="line number19 index18 alt2">
<div class="line number20 index19 alt1"><code class="python spaces"><code class="python plain">
<div class="line number21 index20 alt2"><code class="python spaces"><code class="python plain"> 加载页面位置:<<code class="python keyword">/<code class="python plain">h3>
<div class="line number22 index21 alt1"><code class="python spaces"><code class="python plain"><iframe <code class="python functions">id<code class="python keyword">=<code class="python string">"iframePosition" <code class="python plain">style<code class="python keyword">=<code class="python string">"width: 100%;height: 500px;"<code class="python plain">><<code class="python keyword">/<code class="python plain">iframe>
<div class="line number23 index22 alt2"><code class="python spaces"><code class="python plain"><<code class="python keyword">/<code class="python plain">div>
<div class="line number24 index23 alt1">
<div class="line number25 index24 alt2">
<div class="line number26 index25 alt1"><code class="python spaces"><code class="python plain"><script <code class="python functions">type<code class="python keyword">=<code class="python string">"text/javascript"<code class="python plain">>
<div class="line number27 index26 alt2">
<div class="line number28 index27 alt1"><code class="python spaces"><code class="python plain">window.onload<code class="python keyword">= <code class="python plain">function(){
<div class="line number29 index28 alt2"><code class="python spaces"><code class="python plain">var myDate <code class="python keyword">= <code class="python plain">new Date();
<div class="line number30 index29 alt1"><code class="python spaces"><code class="python plain">document.getElementById(<code class="python string">'currentTime'<code class="python plain">).innerText <code class="python keyword">= <code class="python plain">myDate.getTime();
<div class="line number31 index30 alt2">
<div class="line number32 index31 alt1"><code class="python spaces"><code class="python plain">};
<div class="line number33 index32 alt2">
<div class="line number34 index33 alt1"><code class="python spaces"><code class="python plain">function LoadPage(){
<div class="line number35 index34 alt2"><code class="python spaces"><code class="python plain">var targetUrl <code class="python keyword">= <code class="python plain">document.getElementById(<code class="python string">'url'<code class="python plain">).value;
<div class="line number36 index35 alt1"><code class="python spaces"><code class="python plain">document.getElementById(<code class="python string">"iframePosition"<code class="python plain">).src <code class="python keyword">= <code class="python plain">targetUrl;
<div class="line number37 index36 alt2"><code class="python spaces"><code class="python plain">}
<div class="line number38 index37 alt1">
<div class="line number39 index38 alt2"><code class="python spaces"><code class="python plain"><<code class="python keyword">/<code class="python plain">script>
<div class="line number40 index39 alt1">
<div class="line number41 index40 alt2"><code class="python spaces"><code class="python plain"><<code class="python keyword">/<code class="python plain">body>
<div class="line number42 index41 alt1"><code class="python plain"><<code class="python keyword">/<code class="python plain">html>
</td>
</tr>
</table>
原生AJAX
参数:
method: 请求方式(字符串类型),如:POST、GET、DELETE...
url: 要请求的地址(字符串类型)
async: 是否异步(布尔类型)
b. void send(String body)
用于发送请求
参数:
body: 要发送的数据(字符串类型)
c. void setRequestHeader(String header,String value)
用于设置请求头
参数:
header: 请求头的key(字符串类型)
vlaue: 请求头的value(字符串类型)
d. String getAllResponseHeaders()
获取所有响应头
返回值:
响应头数据(字符串类型)
e. String getResponseHeader(String header)
获取响应头中指定header的值
参数:
header: 响应头的key(字符串类型)
返回值:
响应头中指定的header对应的值
f. void abort()
终止请求</pre>
详细:
0-未初始化,尚未调用open()方法;
1-启动,调用了open()方法,未调用send()方法;
2-发送,已经调用了send()方法,未接收到响应;
3-接收,已经接收到部分响应数据;
4-完成,已经接收到全部响应数据;
b. Function onreadystatechange
当readyState的值改变时自动触发执行其对应的函数(回调函数)
c. String responseText
服务器返回的数据(字符串类型)
d. XmlDocument responseXML
服务器返回的数据(Xml对象)
e. Number states
状态码(整数),如:200、404...
f. String statesText
状态文本(字符串),如:OK、NotFound...
 
>
>
<h1>XMLHttpRequest - Ajax请求</h1>
<input type=<span style="color: #800000;">"</span><span style="color: #800000;">button</span><span style="color: #800000;">"</span> onclick=<span style="color: #800000;">"</span><span style="color: #800000;">XmlGetRequest();</span><span style="color: #800000;">"</span> value=<span style="color: #800000;">"</span><span style="color: #800000;">Get发送请求</span><span style="color: #800000;">"</span> />
<input type=<span style="color: #800000;">"</span><span style="color: #800000;">button</span><span style="color: #800000;">"</span> onclick=<span style="color: #800000;">"</span><span style="color: #800000;">XmlPostRequest();</span><span style="color: #800000;">"</span> value=<span style="color: #800000;">"</span><span style="color: #800000;">Post发送请求</span><span style="color: #800000;">"</span> />
<script src=<span style="color: #800000;">"</span><span style="color: #800000;">/statics/jquery-1.12.4.js</span><span style="color: #800000;">"</span>></script>
<script type=<span style="color: #800000;">"</span><span style="color: #800000;">text/javascript</span><span style="color: #800000;">"</span>><span style="color: #000000;">
function GetXHR(){
var xhr </span>=<span style="color: #000000;"> null;
</span><span style="color: #0000ff;">if</span><span style="color: #000000;">(XMLHttpRequest){
xhr </span>=<span style="color: #000000;"> new XMLHttpRequest();
}</span><span style="color: #0000ff;">else</span><span style="color: #000000;">{
xhr </span>= new ActiveXObject(<span style="color: #800000;">"</span><span style="color: #800000;">Microsoft.XMLHTTP</span><span style="color: #800000;">"</span><span style="color: #000000;">);
}
</span><span style="color: #0000ff;">return</span><span style="color: #000000;"> xhr;
}
function XhrPostRequest(){
var xhr </span>=<span style="color: #000000;"> GetXHR();
</span>//<span style="color: #000000;"> 定义回调函数
xhr.onreadystatechange </span>=<span style="color: #000000;"> function(){
</span><span style="color: #0000ff;">if</span>(xhr.readyState == 4<span style="color: #000000;">){
</span>//<span style="color: #000000;"> 已经接收到全部响应数据,执行以下操作
var data </span>=<span style="color: #000000;"> xhr.responseText;
console.log(data);
}
};
</span>// 指定连接方式和地址----<span style="color: #000000;">文件方式
xhr.open(</span><span style="color: #800000;">'</span><span style="color: #800000;">POST</span><span style="color: #800000;">'</span>,<span style="color: #800000;">"</span><span style="color: #800000;">/test/</span><span style="color: #800000;">"</span><span style="color: #000000;">,true);
</span>//<span style="color: #000000;"> 设置请求头
xhr.setRequestHeader(</span><span style="color: #800000;">'</span><span style="color: #800000;">Content-Type</span><span style="color: #800000;">'</span>,<span style="color: #800000;">'</span><span style="color: #800000;">application/x-www-form-urlencoded; charset-UTF-8</span><span style="color: #800000;">'</span><span style="color: #000000;">);
</span>//<span style="color: #000000;"> 发送请求
xhr.send(</span><span style="color: #800000;">'</span><span style="color: #800000;">n1=1;n2=2;</span><span style="color: #800000;">'</span><span style="color: #000000;">);
}
function XhrGetRequest(){
var xhr </span>=<span style="color: #000000;"> GetXHR();
</span>//<span style="color: #000000;"> 定义回调函数
xhr.onreadystatechange </span>=<span style="color: #000000;"> function(){
</span><span style="color: #0000ff;">if</span>(xhr.readyState == 4<span style="color: #000000;">){
</span>//<span style="color: #000000;"> 已经接收到全部响应数据,执行以下操作
var data </span>=<span style="color: #000000;"> xhr.responseText;
console.log(data);
}
};
</span>// 指定连接方式和地址----<span style="color: #000000;">文件方式
xhr.open(</span><span style="color: #800000;">'</span><span style="color: #800000;">get</span><span style="color: #800000;">'</span>,true);
</span>//<span style="color: #000000;"> 发送请求
xhr.send();
}
</span></script>
jQuery Ajax
 
/ jQuery.post(...)
所有参数:
url: 待载入页面的URL地址
data: 待发送 Key</span>/<span style="color: #000000;">value 参数
success: 载入成功时回调函数
dataType: 返回内容格式,xml,html
jQuery.getJSON(...)
所有参数:
url: 待载入页面的URL地址
data: 待发送 Key</span>/<span style="color: #000000;">value 参数。
success: 载入成功时回调函数。
jQuery.getScript(...)
所有参数:
url: 待载入页面的URL地址
data: 待发送 Key</span>/<span style="color: #000000;">value 参数。
success: 载入成功时回调函数。
jQuery.ajax(...)
部分参数:
url:请求地址
type:请求方式,GET、POST(</span>1.9<span style="color: #000000;">.0之后用method)
headers:请求头
data:要发送的数据
contentType:即将发送信息至服务器的内容编码类型(默认: </span><span style="color: #800000;">"</span><span style="color: #800000;">application/x-www-form-urlencoded; charset=UTF-8</span><span style="color: #800000;">"</span><span style="color: #000000;">)
async:是否异步
timeout:设置请求超时时间(毫秒)
beforeSend:发送请求前执行的函数(全局)
complete:完成之后执行的回调函数(全局)
success:成功之后执行的回调函数(全局)
error:失败之后执行的回调函数(全局)
accepts:通过请求头发送给服务器,告诉服务器当前客户端课接受的数据类型
dataType:将服务器端返回的数据转换成指定类型
</span><span style="color: #800000;">"</span><span style="color: #800000;">xml</span><span style="color: #800000;">"</span><span style="color: #000000;">: 将服务器端返回的内容转换成xml格式
</span><span style="color: #800000;">"</span><span style="color: #800000;">text</span><span style="color: #800000;">"</span><span style="color: #000000;">: 将服务器端返回的内容转换成普通文本格式
</span><span style="color: #800000;">"</span><span style="color: #800000;">html</span><span style="color: #800000;">"</span><span style="color: #000000;">: 将服务器端返回的内容转换成普通文本格式,在插入DOM中时,如果包含JavaScript标签,则会尝试去执行。
</span><span style="color: #800000;">"</span><span style="color: #800000;">script</span><span style="color: #800000;">"</span><span style="color: #000000;">: 尝试将返回值当作JavaScript去执行,然后再将服务器端返回的内容转换成普通文本格式
</span><span style="color: #800000;">"</span><span style="color: #800000;">json</span><span style="color: #800000;">"</span><span style="color: #000000;">: 将服务器端返回的内容转换成相应的JavaScript对象
</span><span style="color: #800000;">"</span><span style="color: #800000;">jsonp</span><span style="color: #800000;">"</span><span style="color: #000000;">: JSONP 格式
使用 JSONP 形式调用函数时,如 </span><span style="color: #800000;">"</span><span style="color: #800000;">myurl?callback=?</span><span style="color: #800000;">"</span><span style="color: #000000;"> jQuery 将自动替换 ? 为正确的函数名,以执行回调函数
如果不指定,jQuery 将自动根据HTTP包MIME信息返回相应类型(an XML MIME type will </span><span style="color: #0000ff;">yield</span> XML,<span style="color: #0000ff;">in</span> 1.4 JSON will <span style="color: #0000ff;">yield</span> a JavaScript object,<span style="color: #0000ff;">in</span> 1.4 script will execute the script,<span style="color: #0000ff;">and</span> anything <span style="color: #0000ff;">else</span><span style="color: #000000;"> will be returned as a string
converters: 转换器,将服务器端的内容根据指定的dataType转换类型,并传值给success回调函数
$.ajax({
accepts: {
mycustomtype: </span><span style="color: #800000;">'</span><span style="color: #800000;">application/x-some-custom-type</span><span style="color: #800000;">'</span><span style="color: #000000;">
},</span>// Expect a `mycustomtype` back <span style="color: #0000ff;">from</span><span style="color: #000000;"> server
dataType: </span><span style="color: #800000;">'</span><span style="color: #800000;">mycustomtype</span><span style="color: #800000;">'</span>
// Instructions <span style="color: #0000ff;">for</span><span style="color: #000000;"> how to deserialize a `mycustomtype`
converters: {
</span><span style="color: #800000;">'</span><span style="color: #800000;">text mycustomtype</span><span style="color: #800000;">'</span><span style="color: #000000;">: function(result) {
</span>//<span style="color: #000000;"> Do Stuff
</span><span style="color: #0000ff;">return</span><span style="color: #000000;"> newresult;
}
},});</span></pre>
 
>
>
<p>
<input type=<span style="color: #800000;">"</span><span style="color: #800000;">button</span><span style="color: #800000;">"</span> onclick=<span style="color: #800000;">"</span><span style="color: #800000;">XmlSendRequest();</span><span style="color: #800000;">"</span> value=<span style="color: #800000;">'</span><span style="color: #800000;">Ajax请求</span><span style="color: #800000;">'</span> />
</p>
<script type=<span style="color: #800000;">"</span><span style="color: #800000;">text/javascript</span><span style="color: #800000;">"</span> src=<span style="color: #800000;">"</span><span style="color: #800000;">jquery-1.12.4.js</span><span style="color: #800000;">"</span>></script>
<script><span style="color: #000000;">
function JqSendRequest(){
$.ajax({
url: </span><span style="color: #800000;">"</span><span style="color: #800000;">http://c2.com:8000/test/</span><span style="color: #800000;">"</span><span style="color: #000000;">,type: </span><span style="color: #800000;">'</span><span style="color: #800000;">GET</span><span style="color: #800000;">'</span><span style="color: #000000;">,dataType: </span><span style="color: #800000;">'</span><span style="color: #800000;">text</span><span style="color: #800000;">'</span><span style="color: #000000;">,success: function(data,statusText,xmlHttpRequest){
console.log(data);
}
})
}
</span></script>
跨域AJAX
特别的:由于同源策略是浏览器的限制,所以请求的发送和响应是可以进行,只不过浏览器不接受罢了。
 
>
>
<p>
<input type=<span style="color: #800000;">"</span><span style="color: #800000;">button</span><span style="color: #800000;">"</span> onclick=<span style="color: #800000;">"</span><span style="color: #800000;">Jsonp1();</span><span style="color: #800000;">"</span> value=<span style="color: #800000;">'</span><span style="color: #800000;">提交</span><span style="color: #800000;">'</span>/>
</p>
<p>
<input type=<span style="color: #800000;">"</span><span style="color: #800000;">button</span><span style="color: #800000;">"</span> onclick=<span style="color: #800000;">"</span><span style="color: #800000;">Jsonp2();</span><span style="color: #800000;">"</span> value=<span style="color: #800000;">'</span><span style="color: #800000;">提交</span><span style="color: #800000;">'</span>/>
</p>
<script type=<span style="color: #800000;">"</span><span style="color: #800000;">text/javascript</span><span style="color: #800000;">"</span> src=<span style="color: #800000;">"</span><span style="color: #800000;">jquery-1.12.4.js</span><span style="color: #800000;">"</span>></script>
<script><span style="color: #000000;">
function Jsonp1(){
var tag </span>= document.createElement(<span style="color: #800000;">'</span><span style="color: #800000;">script</span><span style="color: #800000;">'</span><span style="color: #000000;">);
tag.src </span>= <span style="color: #800000;">"</span><span style="color: #800000;">http://c2.com:8000/test/</span><span style="color: #800000;">"</span><span style="color: #000000;">;
document.head.appendChild(tag);
document.head.removeChild(tag);
}
function Jsonp2(){
$.ajax({
url: </span><span style="color: #800000;">"</span><span style="color: #800000;">http://c2.com:8000/test/</span><span style="color: #800000;">"</span><span style="color: #000000;">,dataType: </span><span style="color: #800000;">'</span><span style="color: #800000;">JSONP</span><span style="color: #800000;">'</span><span style="color: #000000;">,xmlHttpRequest){
console.log(data);
}
})
}
</span></script>
* 简单请求 OR 非简单请求
* 简单请求和非简单请求的区别?
* 关于“预检”
如果复杂请求是PUT等请求,则服务端需要设置允许某请求,否则“预检”不通过
如果复杂请求设置了请求头,则服务端需要设置允许某请求头,否则“预检”不通过
 
>
>
<p>
<input type=<span style="color: #800000;">"</span><span style="color: #800000;">submit</span><span style="color: #800000;">"</span> onclick=<span style="color: #800000;">"</span><span style="color: #800000;">XmlSendRequest();</span><span style="color: #800000;">"</span> />
</p>
<p>
<input type=<span style="color: #800000;">"</span><span style="color: #800000;">submit</span><span style="color: #800000;">"</span> onclick=<span style="color: #800000;">"</span><span style="color: #800000;">JqSendRequest();</span><span style="color: #800000;">"</span> />
</p>
<script type=<span style="color: #800000;">"</span><span style="color: #800000;">text/javascript</span><span style="color: #800000;">"</span> src=<span style="color: #800000;">"</span><span style="color: #800000;">jquery-1.12.4.js</span><span style="color: #800000;">"</span>></script>
<script><span style="color: #000000;">
function XmlSendRequest(){
var xhr </span>=<span style="color: #000000;"> new XMLHttpRequest();
xhr.onreadystatechange </span>=<span style="color: #000000;"> function(){
</span><span style="color: #0000ff;">if</span>(xhr.readyState == 4<span style="color: #000000;">) {
var result </span>=<span style="color: #000000;"> xhr.responseText;
console.log(result);
}
};
xhr.open(</span><span style="color: #800000;">'</span><span style="color: #800000;">GET</span><span style="color: #800000;">'</span>,<span style="color: #800000;">"</span><span style="color: #800000;">http://c2.com:8000/test/</span><span style="color: #800000;">"</span><span style="color: #000000;">,true);
xhr.send();
}
function JqSendRequest(){
$.ajax({
url: </span><span style="color: #800000;">"</span><span style="color: #800000;">http://c2.com:8000/test/</span><span style="color: #800000;">"</span><span style="color: #000000;">,xmlHttpRequest){
console.log(data);
}
})
}
</span></script>
 
,)
 
>
>
<p>
<input type=<span style="color: #800000;">"</span><span style="color: #800000;">submit</span><span style="color: #800000;">"</span> onclick=<span style="color: #800000;">"</span><span style="color: #800000;">XmlSendRequest();</span><span style="color: #800000;">"</span> />
</p>
<p>
<input type=<span style="color: #800000;">"</span><span style="color: #800000;">submit</span><span style="color: #800000;">"</span> onclick=<span style="color: #800000;">"</span><span style="color: #800000;">JqSendRequest();</span><span style="color: #800000;">"</span> />
</p>
<script type=<span style="color: #800000;">"</span><span style="color: #800000;">text/javascript</span><span style="color: #800000;">"</span> src=<span style="color: #800000;">"</span><span style="color: #800000;">jquery-1.12.4.js</span><span style="color: #800000;">"</span>></script>
<script><span style="color: #000000;">
function XmlSendRequest(){
var xhr </span>=<span style="color: #000000;"> new XMLHttpRequest();
xhr.onreadystatechange </span>=<span style="color: #000000;"> function(){
</span><span style="color: #0000ff;">if</span>(xhr.readyState == 4<span style="color: #000000;">) {
var result </span>=<span style="color: #000000;"> xhr.responseText;
console.log(result);
}
};
xhr.open(</span><span style="color: #800000;">'</span><span style="color: #800000;">PUT</span><span style="color: #800000;">'</span>,true);
xhr.setRequestHeader(</span><span style="color: #800000;">'</span><span style="color: #800000;">k1</span><span style="color: #800000;">'</span>,<span style="color: #800000;">'</span><span style="color: #800000;">v1</span><span style="color: #800000;">'</span><span style="color: #000000;">);
xhr.send();
}
function JqSendRequest(){
$.ajax({
url: </span><span style="color: #800000;">"</span><span style="color: #800000;">http://c2.com:8000/test/</span><span style="color: #800000;">"</span><span style="color: #000000;">,type: </span><span style="color: #800000;">'</span><span style="color: #800000;">PUT</span><span style="color: #800000;">'</span><span style="color: #000000;">,headers: {</span><span style="color: #800000;">'</span><span style="color: #800000;">k1</span><span style="color: #800000;">'</span>: <span style="color: #800000;">'</span><span style="color: #800000;">v1</span><span style="color: #800000;">'</span><span style="color: #000000;">},xmlHttpRequest){
console.log(data);
}
})
}
</span></script>
 
</span><span style="color: #0000ff;">def</span><span style="color: #000000;"> put(self):
self.set_header(</span><span style="color: #800000;">'</span><span style="color: #800000;">Access-Control-Allow-Origin</span><span style="color: #800000;">'</span>,"data": "seven"}</span><span style="color: #800000;">'</span><span style="color: #000000;">)
</span><span style="color: #0000ff;">def</span> options(self,*args,**<span style="color: #000000;">kwargs):
self.set_header(</span><span style="color: #800000;">'</span><span style="color: #800000;">Access-Control-Allow-Origin</span><span style="color: #800000;">'</span>,<span style="color: #800000;">"</span><span style="color: #800000;">http://www.xxx.com</span><span style="color: #800000;">"</span><span style="color: #000000;">)
self.set_header(</span><span style="color: #800000;">'</span><span style="color: #800000;">Access-Control-Allow-Headers</span><span style="color: #800000;">'</span>,<span style="color: #800000;">"</span><span style="color: #800000;">k1,k2</span><span style="color: #800000;">"</span><span style="color: #000000;">)
self.set_header(</span><span style="color: #800000;">'</span><span style="color: #800000;">Access-Control-Allow-Methods</span><span style="color: #800000;">'</span>,<span style="color: #800000;">"</span><span style="color: #800000;">PUT,DELETE</span><span style="color: #800000;">"</span><span style="color: #000000;">)
self.set_header(</span><span style="color: #800000;">'</span><span style="color: #800000;">Access-Control-Max-Age</span><span style="color: #800000;">'</span>,10)</pre>
 
>
>
<p>
<input type=<span style="color: #800000;">"</span><span style="color: #800000;">submit</span><span style="color: #800000;">"</span> onclick=<span style="color: #800000;">"</span><span style="color: #800000;">XmlSendRequest();</span><span style="color: #800000;">"</span> />
</p>
<p>
<input type=<span style="color: #800000;">"</span><span style="color: #800000;">submit</span><span style="color: #800000;">"</span> onclick=<span style="color: #800000;">"</span><span style="color: #800000;">JqSendRequest();</span><span style="color: #800000;">"</span> />
</p>
<script type=<span style="color: #800000;">"</span><span style="color: #800000;">text/javascript</span><span style="color: #800000;">"</span> src=<span style="color: #800000;">"</span><span style="color: #800000;">jquery-1.12.4.js</span><span style="color: #800000;">"</span>></script>
<script><span style="color: #000000;">
function XmlSendRequest(){
var xhr </span>=<span style="color: #000000;"> new XMLHttpRequest();
xhr.onreadystatechange </span>=<span style="color: #000000;"> function(){
</span><span style="color: #0000ff;">if</span>(xhr.readyState == 4<span style="color: #000000;">) {
var result </span>=<span style="color: #000000;"> xhr.responseText;
console.log(result);
</span>//<span style="color: #000000;"> 获取响应头
console.log(xhr.getAllResponseHeaders());
}
};
xhr.open(</span><span style="color: #800000;">'</span><span style="color: #800000;">PUT</span><span style="color: #800000;">'</span>,xmlHttpRequest){
console.log(data);
</span>//<span style="color: #000000;"> 获取响应头
console.log(xmlHttpRequest.getAllResponseHeaders());
}
})
}
</span></script>
 
</span><span style="color: #0000ff;">def</span><span style="color: #000000;"> put(self):
self.set_header(</span><span style="color: #800000;">'</span><span style="color: #800000;">Access-Control-Allow-Origin</span><span style="color: #800000;">'</span>,<span style="color: #800000;">"</span><span style="color: #800000;">http://www.xxx.com</span><span style="color: #800000;">"</span><span style="color: #000000;">)
self.set_header(</span><span style="color: #800000;">'</span><span style="color: #800000;">xxoo</span><span style="color: #800000;">'</span>,<span style="color: #800000;">"</span><span style="color: #800000;">seven</span><span style="color: #800000;">"</span><span style="color: #000000;">)
self.set_header(</span><span style="color: #800000;">'</span><span style="color: #800000;">bili</span><span style="color: #800000;">'</span>,<span style="color: #800000;">"</span><span style="color: #800000;">daobidao</span><span style="color: #800000;">"</span><span style="color: #000000;">)
self.set_header(</span><span style="color: #800000;">'</span><span style="color: #800000;">Access-Control-Expose-Headers</span><span style="color: #800000;">'</span>,<span style="color: #800000;">"</span><span style="color: #800000;">xxoo,bili</span><span style="color: #800000;">"</span><span style="color: #000000;">)
self.write(</span><span style="color: #800000;">'</span><span style="color: #800000;">{"status": true,10)</pre>
 
>
>
<p>
<input type=<span style="color: #800000;">"</span><span style="color: #800000;">submit</span><span style="color: #800000;">"</span> onclick=<span style="color: #800000;">"</span><span style="color: #800000;">XmlSendRequest();</span><span style="color: #800000;">"</span> />
</p>
<p>
<input type=<span style="color: #800000;">"</span><span style="color: #800000;">submit</span><span style="color: #800000;">"</span> onclick=<span style="color: #800000;">"</span><span style="color: #800000;">JqSendRequest();</span><span style="color: #800000;">"</span> />
</p>
<script type=<span style="color: #800000;">"</span><span style="color: #800000;">text/javascript</span><span style="color: #800000;">"</span> src=<span style="color: #800000;">"</span><span style="color: #800000;">jquery-1.12.4.js</span><span style="color: #800000;">"</span>></script>
<script><span style="color: #000000;">
function XmlSendRequest(){
var xhr </span>=<span style="color: #000000;"> new XMLHttpRequest();
xhr.onreadystatechange </span>=<span style="color: #000000;"> function(){
</span><span style="color: #0000ff;">if</span>(xhr.readyState == 4<span style="color: #000000;">) {
var result </span>=<span style="color: #000000;"> xhr.responseText;
console.log(result);
}
};
xhr.withCredentials </span>=<span style="color: #000000;"> true;
xhr.open(</span><span style="color: #800000;">'</span><span style="color: #800000;">PUT</span><span style="color: #800000;">'</span>,xhrFields:{withCredentials: true},xmlHttpRequest){
console.log(data);
}
})
}
</span></script>
 
</span><span style="color: #0000ff;">def</span><span style="color: #000000;"> put(self):
self.set_header(</span><span style="color: #800000;">'</span><span style="color: #800000;">Access-Control-Allow-Origin</span><span style="color: #800000;">'</span>,<span style="color: #800000;">"</span><span style="color: #800000;">http://www.xxx.com</span><span style="color: #800000;">"</span><span style="color: #000000;">)
self.set_header(</span><span style="color: #800000;">'</span><span style="color: #800000;">Access-Control-Allow-Credentials</span><span style="color: #800000;">'</span>,<span style="color: #800000;">"</span><span style="color: #800000;">true</span><span style="color: #800000;">"</span><span style="color: #000000;">)
self.set_header(</span><span style="color: #800000;">'</span><span style="color: #800000;">xxoo</span><span style="color: #800000;">'</span>,<span style="color: #800000;">"</span><span style="color: #800000;">daobidao</span><span style="color: #800000;">"</span><span style="color: #000000;">)
self.set_header(</span><span style="color: #800000;">'</span><span style="color: #800000;">Access-Control-Expose-Headers</span><span style="color: #800000;">'</span>,bili</span><span style="color: #800000;">"</span><span style="color: #000000;">)
self.set_cookie(</span><span style="color: #800000;">'</span><span style="color: #800000;">kkkkk</span><span style="color: #800000;">'</span>,<span style="color: #800000;">'</span><span style="color: #800000;">vvvvv</span><span style="color: #800000;">'</span><span style="color: #000000;">);
self.write(</span><span style="color: #800000;">'</span><span style="color: #800000;">{"status": true,10)</pre>
(编辑:李大同)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|