Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/85.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript jQueryAjax调用在Firefox中工作,但没有返回IE-valid响应_Javascript_Jquery_Html_Ajax_Internet Explorer - Fatal编程技术网

Javascript jQueryAjax调用在Firefox中工作,但没有返回IE-valid响应

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

我在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 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现在是有效的…为什么会混淆?这是一个有效的对象。看起来很简单,但这就是问题所在-我在错误的地方有一个。谢谢大家的帮助!