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是否正确返回值 。
一步步来 。