function showForm_payTypeAndShipType(obj){     var loginflag = $("#loginflag").val();
   $.ajax({
         type:"get",
         url : "initCartNext.do?action=ajaxshowForm_pay&roid="+Math.random(),
         contentType:"application/x-www-form-urlencoded; charset=utf-8",
         data:{loginflag:loginflag}, 
         dataType:"text",
         success : function(data){
                 checkSession(data);
              $("#part_payTypeAndShipType").html(data);
         },
         error :function (XMLHttpRequest, textStatus, errorThrown) {
                
            }              
   });
}
在FF以及谷歌中测试均正确  但在ie中无效果。就算是乱码也应该显示啊,但在IE里是个空值。返回的内容是一段html代码,望大神分析一下原因。

解决方案 »

  1.   

    检查ajax页面的html标签封闭情况。是不是少写了一个</div>之类的。
      

  2.   

    嗯,这么看,这段代码没什么问题,应该把楼上说的问题检查一下,应该不会是type:"GET", 的问题 新手 帮不了你 帮你顶吧!!
      

  3.   

    既然其他浏览器执行正确了,说明代码逻辑没什么问题
    只是ajax请求一个字符串个嘛,这句感觉多余啊,去掉试试
    contentType:"application/x-www-form-urlencoded; charset=utf-8",
      

  4.   

    万恶的IE.在其他浏览器可以跑,面IE返回的是HTML说明可能是这段HTML没有写完整,在FF和谷歌中可能会忽略这样的错误,但是在IE中可能会出不来
      

  5.   

    IE更严格一些,F12看有啥错误提示没~
    你用我这个测试试一下
    var parames={
    "type1":123,"type2":123,"name":234
    };
    $.ajax({
    url:'test.php',//改为自已的url
    type:'post',
    dataType:'html',
    data:parames,
    error: function(){alert('error');},
    success:function(data){
    alert(data);
    }
    });
    /*取值的时候$_POST['type1']就行了*/
      

  6.   

    先监视下data是否正确返回值 。
    一步步来 。
      

  7.   

    捣鼓了近一天最终没办法去后台模拟相同的测试环境然后发现了问题,返回的肯定是有数据的。但数据因为一些特殊性(因为过长也没仔细去看,到底是格式还是大小原因也不清楚,如有高人请指教),导致IE下jquery的html()方法就无法成功赋值,但也不报错,更改为原生的js方法即可。折腾死我了。。