0

我在 IE 8 中使用 jQuery 从 get 调用中获得响应时遇到了一些问题。在 IE 9(我认为它也是 IE 7)和其他浏览器中它工作正常。这是我的代码:

$(document).ready(function() {
    //Hide the Animation
    $('#wait_generator').hide();
    //If an element is being selected, run the function
    $('#generator').change(function(){
        //Display the animation
        $('#wait_generator').show();
        //GET - Request at get_process.php
        //get_process simply returns a new dropdown window
        $('#result_generator').hide(); //Hide results at first
        $.get("get_process.php", {
            //Variable 'func' set to generator
            func: "generator",
            //Variable selected
            selected: $('#generator').val()
        }, 
        //GET - Response from PHP
        function(response){
            $('#result_generator').fadeOut();
            setTimeout("finishAjax_generator('result_generator', '"+escape(response)+"')", 400);
        })//End of GET Request;
        return false;
    });
});

//Displays the result
function finishAjax_generator(id, response) {
    $('#wait_generator').hide();
    $('#result_software').hide();
    $('#'+id).html(unescape(response));
    $('#'+id).fadeIn();
}

通过调试,我发现 IE 8 在 JSON 表示法之后甚至没有运行“函数”(或整个 get)代码。我尝试使用绝对 url 和其他 jQuery 版本并更改 .php 文件和和...请任何人帮助我找到任何解决方案。

4

1 回答 1

1

尝试改变:

setTimeout("finishAjax_generator('result_generator', '"+escape(response)+"')", 400);

setTimeout(function() {
  finishAjax_generator('result_generator', escape(response));
}, 400);
于 2013-03-07T10:08:03.930 回答