IE9的jQuery AJAX空白页问题

时间:2012-04-02 16:06:32

标签: jquery

这适用于Firefox和Chrome,但在IE中失败。它确实在警报中显示结果,但该页面在IE中只是空白。我没有遇到任何类型的Firebug错误,所以我无法确定问题所在。任何人都可以发现我的任何明显的错误......或者知道解决方法吗?

感谢。

$("#compareit").submit(function(e){
    $("#topsection").hide();
    $("#tabs").hide();
    $("#bottomWrap").hide(); 
    $("#error").html('');
    $("#leftcolumn").hide();
    $("#rightcolumn").hide();
    e.preventDefault();
    var queryString = $('#compareit').serialize();
    var dataString = queryString + "&count=" + totalselected;

    $.ajax({
        type: 'GET',
        url:'newmlbcompare2.php', 
        cache: false,
        data: dataString,
        success:function(result){
            $('#ajaxDiv').html(result);
            // This alerts the HTML block that is being returned (in all browsers)
            //alert(result);
        }
    });
    return false; 
});

根据要求添加HTML。我已经截断了一些以节省空间:

<div id="maincontainer">

<div id="topsection"><div id="topImage"></div></div>

<div id="contentwrapper">
<div id="contentcolumn">
<div class="innertube">
<div id="compareWrapper">

<form name="compareit" id="compareit" action="">
<input type="hidden" value="2011" name="year" id="year" />
<div id="tabs">
    <ul>
        <li><a href="#tabs0">C</a></li>
        <li><a href="#tabs1">1B</a></li>
    </ul>
    <div id="tabs0">
       <select multiple id="C" name="playArray[]" class="tabStyle" size="10">

          </select> 
        </div>
    <div id="tabs1">
      <select multiple id="FB" name="playArray[]" class="tabStyle" size="10">

          </select> 
        </div>
</div>
    <div id="bottomWrap">
        <div id="instructions"><b>Players:</b> Select up to four players.</div>
        <div id="added_players" align="center" class="added_players"></div>
        <div id="error" class="err"></div>
    </div>

</div>

<div id='start'></div>
</form>
<div id="ajaxDiv"></div>

</div>
</div>

<div id="leftcolumn">
<div class="innertube">
<div id="accordionLeft">

</div>
</div>
</div>

<div id="rightcolumn">
<div class="innertube">
<div id="accordionRight">

</div>
</div>
</div>

4 个答案:

答案 0 :(得分:1)

尝试将$('#ajaxDiv').html(result);更改为$('#ajaxDiv').append(result);

显然,IE可能会遇到.html()jQuery API

的问题

答案 1 :(得分:0)

可能性...?改变这个:

 <div id="compareWrapper">

 <form name="compareit" id="compareit" action="">

到此:

 <form name="compareit" id="compareit" action="">

 <div id="compareWrapper">

答案 2 :(得分:0)

$.ajax({
    type: 'GET',
    url:'newmlbcompare2.php', 
    cache: false,
    data: dataString,
    dataType: "html", //try adding this
    success:function(result){
        $('#ajaxDiv').html(result);
        // This alerts the HTML block that is being returned (in all browsers)
        //alert(result);
    }
});

答案 3 :(得分:0)

正如@GeoffWarren所说,我的表结构中有一个错误被返回。一旦我修复它在IE中工作。

感谢所有花时间看的人。

凯尔