转自网络 1 $.ajax({ 2 type: "POST", 3 url: "http://192.168.0.88/action.cgi?ActionID=WEB_RequestCertificateAPI", 4 data: { 5 "user": "api", 6 "password": "api" 7 }, 8 dataType: "json", 9 ContentType: "application/json", 10 beforeSend: function (XMLHttpRequest) { 11 //HttpUtility.UrlEncode 12 var sessionid = "SessionID"; 13 XMLHttpRequest.setRequestHeader(sessionid, sid); 14 }, 15 success: function (SessionID) { 16 //alert(SessionID.success); 17 var dt = eval("(" + SessionID.data + ")"); 18 if (SessionID.success == 1) { 19 alert("success"); 20 } 21 else { 22 alert(‘errorId:‘ + SessionID.error.id); 23 alert(‘errorCode:‘ + SessionID.error.code); 24 alert(‘errorPara:‘ + SessionID.error.params); 25 } 26 } 27 });因为种种原因,自己的框架中要传系统约定好的header信息,页面使用的jquery的ajax请求,找了好久,突然发现我们可以在beforeSend方法中设置,这个方法接受一个参数,就代表了发起异步请求的XMLHttpRequest对象,我们可以用该对象的setRequestHeader方法实现我们的目的,比如,我在header中加一个自定义的dataType头信息:beforeSend: function(XMLHttpRequest) { XMLHttpRequest.setRequestHeader("dataType","abc"); $(".return_confrim").html("<img src=‘jquery/images/loading.gif‘/> 正在验证账户...");},这样,我们在服务器端可以得到自定义中的dataType信息。