Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript a、 将CORS添加到ajax标头时使用toLowerCase_Javascript_Jquery_Ajax_Django_Django Cors Headers - Fatal编程技术网

Javascript a、 将CORS添加到ajax标头时使用toLowerCase

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) {

我有一个Django在线应用程序和一个API,需要在标题中添加特殊的
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的访问,所以我不得不请维护它的程序员为我打开它)-顺便说一句,我很惭愧它出现在文档中-但今天我学到了一个教训,在提问之前仔细检查它。没问题,很高兴能提供帮助