jQuery $ .get()方法在IE下不起作用

时间:2012-06-15 01:43:26

标签: jquery ajax internet-explorer

我在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错误。

谢谢。

编辑:经过更多调试后,如果我直接在IE中转到http://api.site.com/?sub=next_upload_server,它会提示我下载文件。当我在记事本中打开该文件时,我看到了我期望的AJAX响应。这可能与它有关吗?

2 个答案:

答案 0 :(得分:0)

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

header("content-type:application/json;charset=utf-8");

答案 1 :(得分:0)

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