jQuery AJAX 调用在 Firefox 中有效,但在 IE 中不起作用 - 返回有效响应
jQuery AJAX call works in Firefox but not IE - valid response returned
我在AJAX调用中遇到了一个奇怪的问题,它在Firefox中工作,但在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);
});
});
也许您返回的 HTML 无效。FF在这方面没有问题,但IE8肯定有;) 也许你忘了关闭一个div?
下面的帖子显示了一些人有完全相同的问题:jQuery AJAX GET html data IE8 不起作用
只是在
黑暗中射击,但IE并没有被您发送的JS对象所迷惑,是吗?
{ "t" : "view" , FormID : FormID }
您有什么理由使用字符串作为"t"的键吗?
您的 JS 控制台上有任何错误消息吗?你能显示什么是数据内容吗?
我正在考虑两件事:
1) 如果不在 IE8 中运行开发工具,则未定义 console.log() 。要解决此问题,请将此代码放在页面顶部:
<script type="text/javascript"> if (!window.console) console = {log: function() {}}; </script>
源:"控制台"是 Internet Explorer 的未定义错误
2)也许IE存在AJAX缓存问题(我不认为是因为您使用的是post(),请尝试将此代码放在页面顶部:
$.ajaxSetup({ cache: false });
来源:如何防止 jQuery Ajax 请求在 Internet Explorer 中缓存?
相关文章:
- FB.login有效,但弹出窗口不起作用;t关闭
- 调用 http url 有效,但 Https 不起作用
- 为什么这在 jsfiddle 中有效,但在我的文档中不起作用
- jqBootstrapValidation不起作用,始终返回有效值;
- area(data)有效,但area不起作用
- Object.defineProperty()在测试(jpm运行)过程中有效,但不起作用;使用实际xpi时,不要执行任何
- 为什么document.ready中的事件处理程序函数有效但无效;取出后不起作用
- Web方法只有在标记为静态时才有效,否则就不起作用;t
- jQuery 帖子在加载时有效,但在点击时不起作用
- Javascript窗口/图像加载时间 - 这应该不起作用,但它确实有效
- 重置按钮在表单提交之前有效,但在提交表单后不起作用
- 滑块图像在Internet Explorer中不起作用,但在其他浏览器中有效
- 为什么传入的参数在一个地方有效,而在另一个地方不起作用
- 为什么这段代码在FireFox和IE中不起作用,但在Chrome中却有效
- jQuery Click - 在页面 1st 加载时不起作用,但如果页面重新加载则有效
- 下拉列表中的链接选择不起作用的IE8 / 9打开下拉选择链接,警报有效
- jQuery AJAX 调用在 Firefox 中有效,但在 IE 中不起作用 - 返回有效响应
- JS:为什么这个对象属性不起作用,只有当我把它作为变量放在其中一个方法中时,它才有效
- 砌体在移动浏览器(chrome)上不起作用,并且仅在Chrome桌面版本上有效,如果我重新加载(ctrl + f5)页面
- getElementByID 有效,getElementsByClassName 不起作用