我在jQuery中传递ajax调用中的标头时遇到问题。在jquery中传递标头与ajax
$.ajax({
url: '/resources/ajax/customize.aspx?' + qs + '&nocache=' + Math.random(),
contentType: "application/json",
headers: values,
context: $this,
cache: false,
success: function(data) {
//do stuff here
}
});
在大多数情况下,它会获得标题值正确,但有时它不会获取任何标题值。我确信'值'变量包含数据。我想知道是否有任何特定的情况下,标题不会通过Ajax?
更新: 我想它是:
$.ajax({
url: '/resources/ajax/customize.aspx?' + qs + '&nocache=' + Math.random(),
contentType: "application/json",
beforeSend: function(xhr) { xhr.setRequestHeader('values',values); },
//headers: values,
context: $this,
cache: false,
success: function(data) {
//do stuff here
}
});
,没有运气这一点。
更新2
想通了这个问题。有一个带有换行符的URL变量,所以换行符导致头文件不能被传递。
如果您已经添加'cache:false',为什么要传递'nocache'参数? – Blender 2013-03-12 20:20:50
你传递了什么标题?它是特定于浏览器的吗?马比http://stackoverflow.com/questions/7433556/jquery-jsonp-ajax-authentication-header-not-being-set有帮助吗? – 2013-03-12 20:21:17
可能是[this]的副本(http://stackoverflow.com/questions/3258645/pass-request-headers-in-a-jquery-ajax-get-call)问题? – 2013-03-12 20:23:13