Javascript 仅在Safari 9.0中的Ajax调用中出现DOM错误
我的javascript中有以下代码Javascript 仅在Safari 9.0中的Ajax调用中出现DOM错误,javascript,ajax,dom,Javascript,Ajax,Dom,我的javascript中有以下代码 var _csrf = $("#csrf_token").val(); var xhr = $.ajax ({ url : 'http://ip.jsontest.com/', type : 'GET', contentType : 'application/json', headers : {
var _csrf = $("#csrf_token").val();
var xhr = $.ajax ({
url : 'http://ip.jsontest.com/',
type : 'GET',
contentType : 'application/json',
headers : {
"csrf" : _csrf
}
})
.done(function(data){
alert('done');
})
.fail(function(data){
alert(data["statusText"]);
})
.always(function(data){
alert('always');
})
csrf_标记为HTMl,如下所示
<input type="hidden" value=" {{ csrf_token }}" id="csrf_token" >
还是同一个问题我只是在尝试使用时遇到了这个问题
headers = 'Content-Type: application/x-www-form-urlencoded';
我发现,经过一点摆弄,它在头球的空隙上绊倒了。当我将其设置为:
headers = 'Content-Type:application/x-www-form-urlencoded';
它工作得很好。我已经使用不同的标题内容(随机文本、其他有效标题)进行了检查,标题中至少有一个空格导致了这一特殊问题。我不知道你是否可以重新配置你的头来删除空间,但它让我的头重新开始工作
不确定您是否要向苹果报告,因为它在Safari 9更新之前运行良好,或者jQuery工作人员可以仔细查看。为什么要将csrf令牌作为自定义标头而不是表单数据发送?没有具体原因,我正在尝试,现在我正在将其作为标头发送。但不管csrf与否,我都得到了错误。例如,在编辑的问题中引入了一个新的自定义标题,但仍然得到相同的错误
console.log(_csrf)有任何输出吗代码>?是控制台。日志(_csrf)打印。eJxTik5JLEktycxN1YMxNIwMDE11FAwNgBhEG-oomfoasbogpm5ibgxzqwsalq8das.wblYnJttn4qKhmSXCjz1wOUrkDg。我还注意到“bootstrap.min.CSS:5:57896”中有一个名为“意外CSS标记”的警告
headers = 'Content-Type:application/x-www-form-urlencoded';