joe

如何在ajax请求中设置RequestHeader

现在ajax应用已经相当广泛了,有很多不错的ajax框架可供使用。ajax是一个异步请求,也主要是一种客户端的脚本行为。那么,如何在请求之前为请求添加特殊的一些头部信息呢?

下面是一个简单的例子,我用jquery编写,它的ajax函数中,有一个beforeSend方法,这个方法接受一个参数,就代表了发起异步请求的XMLHttpRequest对象,我们可以用该对象的setRequestHeader方法实现我们的目的

<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default2.aspx.cs" Inherits="Default2" %><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head runat="server">
    <title></title>

    <script src="jquery-1.3.2-vsdoc.js" type="text/javascript"></script>

    <script type="text/javascript" language="javascript">
        $(function() {

            $("#test").click(function() {
                $.ajax({
                    type: "GET",
                    url: "default.aspx",
                    beforeSend: function(request) {
                        request.setRequestHeader("Test", "Chenxizhang");
                    },
                    success: function(result) {
                        alert(result);
                    }
                });
            });
        });    </script></head><body>
    <form id="form1" runat="server">
    <div id="v">
    </div>
    <input type="button" value="测试" id="test" />
    </form>
    </body>
    </html>

其他的一些方法

$.ajax({
     //请求类型,这里为POST
     type: 'POST',
     //你要请求的api的URL
     url: url ,
     //是否使用缓存
     cache:false,
     //数据类型,这里我用的是json
     dataType: "json", 
     //必要的时候需要用JSON.stringify() 将JSON对象转换成字符串
     data: JSON.strigify({key:value}), //data: {key:value}, 
     //添加额外的请求头
     headers : {'Access-Control-Allow-Origin':'*'},
     //请求成功的回调函数
     success: function(data){
        //函数参数 "data" 为请求成功服务端返回的数据
},
});

$.ajax({
  url: '/path/to/service',
  method: 'GET | POST | PUT | DELETE',
  headers: {
    'Authorization': 'Bearer <jwt token>',
    'some-other-header': 'some value'
  }
})
.done(function(data){...})
.fail(function(jqXHR){...})
.always(function(){...})


码字很辛苦,转载请注明来自朱一兵的博客《如何在ajax请求中设置RequestHeader》

评论