一些帮助请... IE + JQuery load()不显示结果

时间:2014-03-01 11:32:20

标签: jquery ajax internet-explorer load

我正在使用另一个开发人员代码......但我认为那里没有问题...该页面应提交一个搜索表单,该表单由getResults()序列化拦截,然后将结果注入所需的空DIV。

潜在问题:使用.load()作为chrome和FFox工作的IE缓存

所以问题是Jquery的load()无法在IE中显示结果,除非我疯狂刷新页面。这让我相信像许多我在这里有缓存问题。然而,许多小时的搜索和修改load()导致了同样的问题。

到目前为止我尝试了什么:

将load()更改为get()。 添加时间戳。 使用ajax请求进行重建(在本地有一些快乐,但是在放到现场时这也不起作用) 将ajax缓存设置为false。 删除e.preventDefault()这有效,但强制页面刷新(不幸的是不可接受) 检查HTML有效性并确保(text / javascript)贯穿始终。 为了兼容性,我已经包含了jquery-migrate-1.2.1.js。 < IE9 encodeURIComponent方法()

我在哪里:

我的$数据充满了\ r \ n \ t(我猜是换行)我在Chrome或FF调试时没有看到这个,有人知道这是怎么回事吗?

GetResults()

    function getResults(){

    $(document).ready(function() { 

        $('#vrSearchForm').submit(function(e) {

                        var ok = false;

            var target = document.getElementById('spin');

            var spin = new     Spinner({color:'rgb(255,156,33)',radius:50,lines:8,width:10,shadow:true}).spin(target);

            var pos = $('.returned-properties').position();

            var form = $(this);

            serializedData = form.serialize();

            $('.returned-properties').empty();

            $('#results').remove();

            $('#more-results').css("display","inline");

            $('.returned-properties').load('index.php #results',serializedData, function(data) {

                $('body').animate({

                    scrollTop: pos.top - 100

                },800);

                spin.stop();

                                var working = data;

                                if (status != "error") {
                                if (($.browser.msie))
                                    response.replace(/\r\n/g, "");
                                }

                                if (typeof history.pushState != 'undefined') { 
                                    ok = true;
                                    history.pushState(serializedData,"", "index.php?" + serializedData);
                                }else{
                                    location.hash = "index.php?" + serializedData;
                                }
            });
                    e.preventDefault();

                    return false;
    });

});

}

1 个答案:

答案 0 :(得分:0)

长话短说...一个额外的div标签。没有被W3验证工具发现,真正的关闭div标签只是在屏幕外,所以根本没有立即明显,除了这一切在Chrome和FireFox中都有效。 IE没有错误,根本没有任何反馈,只有零输出。