Javascript a、 将CORS添加到ajax标头时使用toLowerCase
我有一个Django在线应用程序和一个API,需要在标题中添加特殊的Javascript a、 将CORS添加到ajax标头时使用toLowerCase,javascript,jquery,ajax,django,django-cors-headers,Javascript,Jquery,Ajax,Django,Django Cors Headers,我有一个Django在线应用程序和一个API,需要在标题中添加特殊的token 当我将其添加到$.ajaxSetup时,它仍然需要我CORS访问控制允许原始数据头中的参数 当我添加它时,我得到一个错误:TypeError:a.toLowerCase不是一个函数 奇怪的是,当我在我的HttpRequester firefox插件中使用相同的代码时,因为我用预期的数据得到了正确的响应 守则: $.ajaxSetup({ beforeSend: function(xhr) {
token
当我将其添加到$.ajaxSetup
时,它仍然需要我CORS访问控制允许原始数据
头中的参数
当我添加它时,我得到一个错误:TypeError:a.toLowerCase不是一个函数
奇怪的是,当我在我的HttpRequester firefox插件中使用相同的代码时,因为我用预期的数据得到了正确的响应
守则:
$.ajaxSetup({
beforeSend: function(xhr) {
xhr.setRequestHeader({
'CORS': 'Access-Control-Allow-Origin',
'token': 'tokenStringHere'
});
}
});
$.ajax({
url: 'myPathToOnlineAppWithApiString',
type: 'GET',
contentType: 'application/json',
headers: {
}
}).success(function(result){
console.log('yes!');
}).error(function(error){
console.log('no!');
});
setRequestHeader
接受两个字符串,即标题名称及其值,而不是对象。有关更多信息,请参阅jQuery文档的$.ajax
条目部分
应使用两个调用替换参数中的对象,以分别设置这些标头:
$.ajaxSetup({
beforeSend: function(xhr) {
xhr.setRequestHeader('CORS', 'Access-Control-Allow-Origin');
xhr.setRequestHeader('token', 'tokenStringHere');
}
});
这让我更进一步-谢谢!(事实证明,某个应用程序限制了所有CORS的访问,所以我不得不请维护它的程序员为我打开它)-顺便说一句,我很惭愧它出现在文档中-但今天我学到了一个教训,在提问之前仔细检查它。没问题,很高兴能提供帮助