javascript/jquery读取和修改HTTP headers
jquery修改HTTP headers
jQuery Ajax可以通过headers
或beforeSend
修改request的HTTP headers,例如:
$.ajax({
url: "./test.php",
type: "POST",
headers: {
"Accept" : "text/plain; charset=utf-8",
"Content-Type": "text/plain; charset=utf-8"
},
/*
beforeSend: function(jqXHR, settings) {
jqXHR.setRequestHeader('Accept', 'text/plain; charset=utf-8');
jqXHR.setRequestHeader('Content-Type', 'text/plain; charset=utf-8');
},
*/
data: {"user" : "min", "pass" : "he"},
error: function(jqXHR, textStatus, errorThrown) {
//....
},
success: function(data, textStatus, jqXHR) {
//....
}
}
注意::W3规定XMLHttpRequest并不能修改全部的HTTP Headers,而仅是一小部分。
jquery获取HTTP headers:
test.html:
<html>
<head>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.5.2/jquery.min.js"></script>
</head>
<body></body>
<script type="text/javascript">
$(document).ready(function(){
$.ajax({
url: "./test.php",
type: "POST",
data: {"user" : "min", "pass" : "he"},
error: function(jqXHR, textStatus, errorThrown) {
if (textStatus == "error") {
alert(textStatus + " : " +errorThrown);
} else {
alert(textStatus);
}
},
success: function(data, textStatus, jqXHR) {
alert(jqXHR.getResponseHeader("Server"));
alert(jqXHR.getResponseHeader("Content-Type"));
alert(jqXHR.getResponseHeader("X-Powered-By"));
alert(jqXHR.getResponseHeader("Content-Encoding"));
alert(jqXHR.getAllResponseHeaders());
alert(jqXHR.getResponseHeader("Set-Cookie")); //返回null,不能获取Set-Cookie的值
alert(data + textStatus);
}
});
});
</script>
</html>
test.php:
<?php
if (isset($_COOKIE["time"])) {
$time = $_COOKIE["time"] + 1;
} else {
$time = 1;
}
setcookie("time", $time);
$user = $_REQUEST["user"];
$pass = $_REQUEST["pass"];
print $user.$pass." ".$time;
jQuery通过XMLHttpRequest的getResponseHeader
或getAllResponseHeaders()
可以获取指定的HTTP header field的值,但规定不能获取Set-Cookie
和Set-Cookie2
的值。
参考:
- http://stackoverflow.com/questions/1145588/cannot-properly-set-the-accept-http-header-with-jquery
- http://stackoverflow.com/questions/2444489/getresponseheader-is-not-a-function
<!--EndFragment-->
相关推荐
headers-more-nginx-module-0.34
该版本Live HTTP headers中Replay功能无法使用问题已修复,具体安装步骤请参考:https://blog.csdn.net/qq_22146195/article/details/103537148
live http headers0.17.1火狐老插件,可以直接本地安装在旧版火狐上面,可以查看源码、查看连接等。
HTTP Headers详解,包括方方面面
HTTP Headers简明易懂的教程.doc
modify-http-headers Chrome插件, 测试可用,包含插件安装文档
python工具类-读取浏览器复制的headers字符串转换为dict字典,方便爬虫使用,结合爬虫的requests、selenium等使用。
ie httpHeaders + fire httpHeaders 天涯浪子
ngx_headers_more-设置和清除输入和输出头...比“添加”还多! 该模块不随Nginx源一起分发。 请参阅。 目录 版本 本文档介绍了2017年11月3日发布的headers-more-nginx-module 。 概要 # set the Server output ...
https://github.com/phempshall/http-headers 该扩展将向您显示当前选项卡的HTTP请求和响应标头。 因为原来心爱的HTTP Headers插件重新创建而被广告注入所损害。我想要一个干净,安全的版本,所以做到了这一点。 ...
LiveHTTPHeaders的官方网站是https://addons.mozilla.org/zh-CN/firefox/addon/live-http-headers/ TamperData的官方网站是https://addons.mozilla.org/zh-cn/firefox/addon/tamper-data/versions/ firebug的官方...
live_http_headers Firefox 插件。用于最新版的FF.
电信阉割版的 友讯 d-link2650BU 驱动 ,破解用的
JavaScript应用实例-格式化headers.js
nginx扩展工具,nginx的headers_more模块用于 添加、修改或清除 请求/响应头,该模块不是nginx自带的,默认不包含该模块,需要另外安装。幸运的是openresty默认包含了该模块,可以直接使用。 该模块主要有4个指令...
Unity3d www Http 请求 Headers 验证 文档地址:https://blog.csdn.net/nicepainkiller/article/details/75008516
LiveHTTPHeaders是FireFox下的一个插件,可以用来实时监测发起的http请求和响应,也可以修改请求参数之后重新发起请求。在firefox中不得不装的一个插件
这是本人编译内核的整个过程,本过程经多次在不同机器上验证都可以通过,但每台机器的安装配置、环境等都不一样,故出现错误是很正常的事。。去百度一下就OK了。。。现在本人将它共享出来。。希望对大家有所帮助!...
jQuery表单添加修改删除,课堂小作业
语言:English (United States) ...参考:* https://developer.mozilla.org/docs/Web/HTTP/Headers/X-Frame-Options * https://developer.mozilla.org/docs/Web/HTTP/Headers/Content-Security-Policy源代码:...