0

我在 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 响应。这可能与它有关吗?

4

2 回答 2

0

我认为问题可能出在服务器脚本中,请尝试发送以下标头:

header("content-type:application/json;charset=utf-8");
于 2012-06-15T01:45:34.970 回答
0

尝试使用$.getJSON()$.ajax({ dataType: 'json' ... });

于 2012-06-15T13:19:29.517 回答