Javascript jQueryAjax调用在Firefox中工作,但没有返回IE-valid响应
我在Firefox中使用AJAX调用时遇到了一个奇怪的问题,但在IE中没有。当我添加IE alert()时,我看到了返回的内容,但它不希望使用jQuery.html()命令插入。以下是我的示例代码:Javascript jQueryAjax调用在Firefox中工作,但没有返回IE-valid响应,javascript,jquery,html,ajax,internet-explorer,Javascript,Jquery,Html,Ajax,Internet Explorer,我在Firefox中使用AJAX调用时遇到了一个奇怪的问题,但在IE中没有。当我添加IE alert()时,我看到了返回的内容,但它不希望使用jQuery.html()命令插入。以下是我的示例代码: $(document).on('click','.OpenForm',function(e) { e.preventDefault(); var FormControl = $(this).attr('id'); //ex: id=FormView_12 or F
$(document).on('click','.OpenForm',function(e) {
e.preventDefault();
var FormControl = $(this).attr('id'); //ex: id=FormView_12 or FormEdit_12
FormControl = FormControl.split('_');
var FormControlType = FormControl[0];
var FormID = FormControl[1];
$.post("./includes/Getform.php", { "t" : "view" , FormID : FormID })
.done(function(data) {
if (data.length>0){
data = data.replace(/(\r\n|\n|\r)/gm,"");
//alert(data); ---THIS ALERTS THE RESPONSE IN IE8
//console.log(data); --- THIS SHOWS RESPONSE IN FF
$('.ProjectContentLoad').html(data).show();
}
})
.fail( function(xhr, textStatus, errorThrown) {
error_handling(xhr.responseText);
});
});
您的JS控制台上有任何错误消息吗?你能说明什么是数据内容吗 我在想两件事: 1) 如果您没有在IE8中运行开发工具,那么console.log()是未定义的。要解决此问题,请将以下代码放在页面顶部:
<script type="text/javascript"> if (!window.console) console = {log: function() {}}; </script>
$.ajaxSetup({ cache: false });
来源:可能您返回的HTML无效。FF对此没有问题,但IE8确实有问题;)也许你忘了关闭一个部门
下面的帖子显示了一些家伙有着完全相同的问题:只是在黑暗中拍摄,但是IE没有被你发送的JS对象弄糊涂,是吗
{ "t" : "view" , FormID : FormID }
您使用字符串作为“t”的键有什么原因吗?如果删除console.log(),会发生什么情况?不走运,我只是在IE中的警报和FF中的console.log之间切换。应该在最初的帖子中提到我正在使用IE8。*如果开发人员工具没有打开,IE在
console.log(…)
方面会有问题。。。它会悄悄地将它分成两部分是一个不好的建议。哦,是的,你是对的,.html(htmlString)
返回一个JQuery对象,我编辑了我的邮件。将其分成两部分并不能解决问题。还添加了cache:false命令,没有运气,检查以确保HTML现在是有效的…为什么会混淆?这是一个有效的对象。看起来很简单,但这就是问题所在-我在错误的地方有一个。谢谢大家的帮助!