jQuery加载没有被IE反映出来

时间:2010-09-09 13:02:36

标签: jquery ajax internet-explorer load

我编码,根据下拉列表中的选定项目,加载一些进一步的控件(index == 0 vs index> = 1的单独内容)。初始选择的所选项目在服务器端预先设置。我已经和重新加载/缓存问题,用户改变但不提交表单,然后单击重新加载。最初,我从服务器加载默认启动但浏览器重新加载导致不正确的表单状态,因为它(例如IE)记住最后选择 - 但未提交 - 控制值如果用户点击刷新。所以,我有这个代码。在其他浏览器中工作正常,但在IE中,没有内容呈现。

$(window).load(function(){
    $.ajaxSetup({cache: false})
    var theProduct = '';
    if ($('#chooseProduct').attr('selectedIndex') > 0) {
        theProduct = '&product=' + $('#chooseProduct').val();
    }
    setEvent($('#chooseProduct').attr('id'), 'product_req');
    $('#productSubselection').load(
        '/netpub/server.np?base&site=ddfa&catalog=catalog&template=regions.np' + theProduct//,
    );
    $(document).ready(function(){ 
        $('#chooseProduct').change(function(Event){
            setEvent($('#chooseProduct').attr('id'), 'product_req');
            $('#productSubselection').load(
                '/netpub/server.np?base&site=ddfa&catalog=catalog&template=regions.np', $(this).serialize()//,
            );
        });
        $('#browseall').click(function(Event){
            deleteCookie('product_req');
        });
    });
});

使用日志/警报,我可以确认IE正在拨打正确的内容。如果我将AJAX调用的URL放在正常的IE窗口中,我会得到预期的内容 - 格式良好的HTML - 返回。 IE或任何其他浏览器都不会抛出任何JS错误。我已经尝试将代码的初始部分放在'ready'事件中,但它没有任何区别。我做了一件明显不对的事吗?

1 个答案:

答案 0 :(得分:0)

独白的风暴,只是给出这个答案以打破主题。事实证明,问题实际上是在theProduct URL中传递的load参数字符串中的空格错误(mea culpa)。结果是微妙的,不会在我期望它们的地方抛出错误,因此导致我认为这是一个jQuery /事件问题。排序后,我能够将所有内容放在$(document).ready(function()内,并且jQuery按原设想工作。道德?在向GET查询添加字符串时,请记住要谨慎处理文本编码。