我在 Internet Explorer 上使用 jQuery AJAX 时遇到了一些问题。这是代码片段:
$('#upload-button').live('click', function() {
// Get next upload server
$.get('http://api.site.com/?sub=next_upload_server', function(resp) {
// Set uploadify server setting
resp = $.parseJSON(resp);
$('#file-select').uploadify('settings', 'uploader', 'http://' + resp.server + '.site.com/upload.php');
console.log($('#file-select').uploadify('settings','uploader'));
// Start uploads
$('#file-select').uploadify('upload', '*');
});
// Switch out the form for upload progress
$('#upload-form').animate({opacity: 0}, function() {
$('#progress-container').fadeIn('fast');
});
});
此代码适用于 Chrome、Firefox 和 Safari。但是在 Internet Explorer 下,它似乎不起作用。如果我alert("test")
在通话前放一条线$.get()
,它会显示出来。如果我把它放在$.get()
调用的函数中,它不会。如果我在$.get()
通话之后(在我切换上传进度表单之前)将其放入,它会显示警报。
这个 AJAX 调用在 Internet Explorer 中不起作用有什么原因吗?据我所知,它应该。我已经在 Internet Explorer 7 到 9 中对其进行了测试。加载页面或运行此方法时也没有 Javascript 错误。
谢谢你。
编辑:经过更多调试,如果我http://api.site.com/?sub=next_upload_server
直接在 IE 中进入,它会提示我下载文件。当我在记事本中打开该文件时,我看到了预期的 AJAX 响应。这可能与它有关吗?