十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
这篇文章将为大家详细讲解有关js中如何使用ajax设置和获取自定义header信息,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。
我们提供的服务有:成都做网站、网站建设、微信公众号开发、网站优化、网站认证、同仁ssl等。为上千余家企事业单位解决了网站和推广的问题。提供周到的售前咨询和贴心的售后服务,是有科学管理、有技术的同仁网站制作公司
具体如下:
$.ajax({ type: "POST", url: "Handler1.ashx", contentType: "application/x-www-form-urlencoded", beforeSend: function (request) { request.setRequestHeader("token1", "Chenxizhang"); }, success: function (data) { //your code } });
$.ajax({ headers: { "testheader": "test" }, type: "POST", url: "Handler1.ashx", contentType: "application/x-www-form-urlencoded", success: function (data) { //your code } });
ajax请求完成,会返回xhr(XMLHTTPRequest)对象,这里面会包含返回的头信息,可以通过getResponseHeader(key)和getAllResponseHeaders()获取header信息;
$.ajax({ type: "POST", url: "Handler1.ashx", contentType: "application/x-www-form-urlencoded", success: function (data) { //your code }, complete: function (xhr, data) { /* 获取相关Http Response header getResponseHeader(key):获取指定头信息 getAllResponseHeaders():获取全部可默认可获取的头信息 */ var date=xhr.getResponseHeader('Date');// 服务器端时间 //获取服务端自定义的header信息 var stoken = xhr.getResponseHeader('servertoken'); var list = xhr.getAllResponseHeaders(); console.log(list); /* date: Fri, 12 Jul 2019 12:41:00 GMT content-encoding: gzip server: Microsoft-IIS/10.0 x-aspnet-version: 4.0.30319 x-powered-by: ASP.NET vary: Accept-Encoding content-type: text/plain; charset=utf-8 servertoken: test1 cache-control: private content-length: 129 */ } });
JS AJAX 跨域请求的时候是不能设置自定义的header信息的,但是是可以在response中获取到服务端自定义的header信息,前提是服务端设置了Access-Control-Expose-Headers;
下面是 ASP.NET 的服务端示例:
public void ProcessRequest(HttpContext context) { context.Response.AddHeader("Access-Control-Allow-Origin", "*"); context.Response.AddHeader("Access-Control-Allow-Headers", "*"); context.Response.AddHeader("Access-Control-Allow-Methods", "*"); //自定义header信息 context.Response.AddHeader("servertoken", "test"); context.Response.AddHeader("Access-Control-Expose-Headers", "servertoken"); context.Response.ContentType = "text/plain"; context.Response.Write("Hello World"); }
关于“js中如何使用ajax设置和获取自定义header信息”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,使各位可以学到更多知识,如果觉得文章不错,请把它分享出去让更多的人看到。