日期:2014-05-16  浏览次数:20371 次

Jquery Ajax在IE下的问题
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代码,望大神分析一下原因。
------解决方案--------------------
检查ajax页面的html标签封闭情况。是不是少写了一个</div>之类的。
------解决方案--------------------
嗯,这么看,这段代码没什么问题,应该把楼上说的问题检查一下,应该不会是
type:"GET",
 的问题 新手 帮不了你 帮你顶吧!!
------解决方案--------------------
既然其他浏览器执行正确了,说明代码逻辑没什么问题
只是ajax请求一个字符串个嘛,这句感觉多余啊,去掉试试
contentType:"application/x-www-form-urlencoded; charset=utf-8",

------解决方案--------------------
万恶的IE.

在其他浏览器可以跑,面IE返回的是HTML说明可能是这段HTML没有写完整,在FF和谷歌中可能会忽略这样的错误,但是在IE中可能会出不来
------解决方案--------------------
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']就行了*/


------解决方案--------------------
先监视下data是否正确返回值 。
一步步来 。