ajax在Safari上不一致
ajax inconsistent on Safari
-EDIT-
我试图用error: function(jqXhr, status, error)
为失败的函数添加一些错误处理,但jqXhr.responseText
是空的,所以我想我仍然没有正确处理错误。
-/编辑-
我是ajax的新手,必须用这两个现有的ajax功能修改现有的网站,这两个功能在Chrome、IE和FF中都能很好地工作,但只有第一个在Safari中工作。第二个失败了,但错误处理程序(我想没有正确设置?(并没有告诉我太多:
// works in each browser
$.ajax({
cache: false,
type: 'GET',
url: apiBaseUrl + 'GetCountries',
dataType: 'xml',
success: parseCountries,
error: function(){
$('.errorMessage').append('<p>' + errorMessage + '</p>');
}
});
// does not work in Safari
$.ajax({
cache: false,
type: 'GET',
url: apiBaseUrl + 'GetStandardTexts?page=login',
dataType: 'xml',
success: displayRegisteredAlert,
error: function(jqXhr, status, error){
var err = eval("(" + jqXhr.responseText + ")");
alert(err.Message);
}
});
我能看到的它们之间唯一真正的区别是第二个包含的URL和附加参数?page=login
。
我终于开始工作了。我不完全确定为什么,但添加async:false
解决了Safari的问题。其他浏览器不需要。
$.ajax({
async: false, // only required on Safari
cache: false,
type: 'GET',
url: apiBaseUrl + 'GetStandardTexts?page=login',
dataType: 'xml',
success: displayRegisteredAlert,
error: function(jqXhr, status, error){
var err = eval("(" + jqXhr.responseText + ")");
alert(err.Message);
}
});
相关文章:
- 当属性不一致时,如何根据属性对JS对象列表进行排序
- Android和JavaScript解析API之间不一致
- Javascript的行为与PHP包含文件不一致
- 对这种与document.domain和CORS相关的不一致行为的解释是什么
- 点击链接行为不一致
- Passport.js`isAuthenticated()`不一致的行为;当它应该是真的时候是假的
- 与显示不一致
- 错误 [对象 BlobConstructor]' 不是 safari 中的构造函数
- Ext 4.2.1 模型日期解析在浏览器之间不一致
- 通过 Dropbox API 上传时的文件内容不一致
- JavaScript - 对象属性不一致
- Javascript 混淆了 null、instanceof 和 typeof 的语法不一致
- localeCompare 显示使用前导变音字符对单词进行排序时不一致的行为
- SVG 对象部分上的 JQuery click() 不一致
- 使用forEach和.shift()时结果不一致
- Window.open浏览器的高度不一致
- 不同浏览器中的LinkButton PageMethod行为不一致
- 当活动处于后台时,Android WebView不一致
- 移动Chrome和Safari之间的页面滚动不一致
- ajax在Safari上不一致