在jQuery AJAX GET调用中传递请求标头
我正在尝试使用jQuery在AJAX GET中传递请求标头。 在下面的块中,“数据”自动传递查询string中的值。 有没有办法在请求头中传递数据呢?
$.ajax({ url: "http://localhost/PlatformPortal/Buyers/Account/SignIn", data: { signature: authHeader }, type: "GET", success: function() { alert('Success!' + authHeader); } });
以下也没有工作
$.ajax({ url: "http://localhost/PlatformPortal/Buyers/Account/SignIn", beforeSend: { signature: authHeader }, async: false, type: "GET", success: function() { alert('Success!' + authHeader); } });
使用beforeSend
:
$.ajax({ url: "http://localhost/PlatformPortal/Buyers/Account/SignIn", data: { signature: authHeader }, type: "GET", beforeSend: function(xhr){xhr.setRequestHeader('X-Test-Header', 'test-value');}, success: function() { alert('Success!' + authHeader); } });
http://api.jquery.com/jQuery.ajax/
http://www.w3.org/TR/XMLHttpRequest/#the-setrequestheader-method
从jQuery 1.5开始,你可以传入一个headers
哈希,如下所示:
$.ajax({ url: "/test", headers: {"X-Test-Header": "test-value"} });
从http://api.jquery.com/jQuery.ajax :
标题 (添加1.5):与请求一起发送的附加标题键/值对的映射。 该设置在beforeSend函数被调用之前设置; 因此,可以在beforeSend函数中覆盖标题设置中的任何值。
$.ajax({ url: URL, type: 'GET', dataType: 'json', headers: { 'header1': 'value1', 'header2': 'value2' }, contentType: 'application/json; charset=utf-8', success: function (result) { // CallBack(result); }, error: function (error) { } });