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-->
相关推荐
在IT行业中,Spring Boot框架和JavaScript(包括JQuery)是两个非常重要的技术栈,它们在构建现代Web应用程序中起着核心作用。在这个名为"jee2020_jsp_springboot5.zip"的压缩包中,我们可以看到一个针对Java、...
在Web开发中,jQuery是一个非常流行的JavaScript库,它极大地简化了DOM操作、事件处理和Ajax交互等任务。本文将深入探讨如何使用jQuery的ajax方法来读取JSON文件内容。JSON(JavaScript Object Notation)是一种轻量...
在JavaScript的世界里,jQuery库因其简洁的API和强大的功能而广受欢迎,特别是在处理AJAX请求时。然而,了解如何使用原生JavaScript实现AJAX请求是非常重要的,因为这有助于提升性能和理解底层工作原理。这篇文章的...
CRUD(Create, Read, Update, Delete)是数据库操作的基本概念,用于描述对数据的四种基本操作:创建、读取、更新和删除。在JavaScript环境下,CRUD系统可以帮助开发者更高效地管理数据,通常用于前端应用程序,如...
JavaScript部分可能包括了请求的构建、发送和结果处理。例如,可能会有如下代码片段: ```javascript fetch('https://aip.baidubce.com/rest/2.0/ocr/v1/idcard', { method: 'POST', headers: { 'Content-Type':...
在给定的资源中,我们看到与JavaScript相关的文件,特别是与jQuery Tablesorter插件有关的文件,这表明我们将讨论如何使用JavaScript和jQuery实现一个动态的页面列表排序功能。 首先,让我们了解一下jQuery ...
</httpProtocol> ``` 这里设置了`Access-Control-Allow-Origin`为`*`,表示允许所有源进行跨域请求。如果只允许特定源,可以替换`*`为具体域名。 服务端运行后,前端可以通过jQuery发起JSONP请求。例如: ```...
本话题将聚焦于“mysql增删改查”,结合jQuery和JavaScript技术进行深入探讨。 首先,MySQL是一个广泛使用的开源关系型数据库管理系统,它支持SQL语言,提供了高效的数据存储和检索功能。在Web应用中,MySQL常作为...
此外,fetch API还可以让我们更细粒度地控制HTTP请求和响应处理,例如可以读取流式响应等。 需要注意的是,fetch API在一些旧版浏览器中可能不受支持,开发者需要使用polyfill或者回退到传统的XMLHttpRequest来实现...
在开发过程中,开发者可能使用各种编程语言(如Java、Python、JavaScript等)和库(如Apache HttpClient、requests、jQuery等)来构造和发送XML格式的HTTP请求。这些工具通常提供了方便的方法来构建XML文档、设置...
在JavaScript中,我们可以利用AJAX(异步JavaScript和XML)技术来实现与服务器的通信,尽管现在的实践更多地使用Fetch API或jQuery的$.ajax方法。 1. 创建(Create): 在创建新数据时,前端通常会有一个表单供用户...
在IT行业中,CRUD操作是数据库管理的基本概念,代表创建(Create)、读取(Read)、更新(Update)和删除(Delete)数据。这些操作通常与Web应用中的接口设计紧密关联,尤其是在JavaScript环境中。当我们谈论"crud-...
同时,JavaScript(可能是jQuery库)将用于监听文件选择事件,读取选定的文件,并将这些文件的数据准备发送到服务器。 例如,HTML可能如下所示: ```html <input type="file" id="imageUpload" multiple /> ``` ...
在现代Web应用中,异步文件上传是一...前端使用jQuery处理表单提交和文件读取,通过Ajax将文件数据发送到后端;后端使用ASP.NET Web API接收文件,进行必要的处理或保存。整个过程无须页面刷新,提高了用户的交互体验。
var fileName = file.Headers.ContentDisposition.FileName; // 读取文件流并保存 } return Request.CreateResponse(HttpStatusCode.OK); } ``` 以上就是四种在ASP.NET中实现多文件上传的方法。每种方法都有...
在现代的JavaScript中,我们可以使用`fetch` API或者jQuery的`$.ajax()`方法来实现这个功能。 1. **创建(Create)**:当用户输入新数据时,JavaScript可以捕获这些输入,然后使用AJAX发送一个POST请求到服务器,将...
这可以在Chrome或Safari的开发者工具中的Headers标签页查看和确认。 7. Firebug工具: Firebug是一个非常流行的Web开发调试工具,它安装在Firefox浏览器中。通过Firebug可以查看和调试网页的HTML、CSS、JavaScript...
同源策略阻止了一个源自一个域名的JavaScript访问另一个域名的资源,这是为了防止恶意网站读取或篡改其他网站的数据。然而,在某些情况下,如前后端分离的开发模式或者需要获取第三方API数据时,我们需要跨越这个...
在JavaScript(JS)中实现上传选择图片的功能是前端开发中常见的需求,这通常涉及到HTML5的File API、事件处理和Ajax技术。以下是对这个主题的详细解析。 首先,我们需要一个HTML表单元素来让用户选择图片。这个...
当用户选择文件后,可以通过JavaScript的FileReader API读取并显示图片。 1. 创建HTML结构: 创建一个文件输入控件和一个用于预览的图片占位符: ```html <input type="file" id="imageInput" accept="image/*" ...