Jquery AJAX url在IE中不起作用
我希望有人能帮我。我刚刚开始使用AJAX,我对URL有一个问题。 用户从多选下拉列表中选择一个选项。当他们按save时,数据将被发布到下面的Ajax中Jquery AJAX url在IE中不起作用,jquery,ajax,Jquery,Ajax,我希望有人能帮我。我刚刚开始使用AJAX,我对URL有一个问题。 用户从多选下拉列表中选择一个选项。当他们按save时,数据将被发布到下面的Ajax中 $("#getSelected").click(function (e) { e.preventDefault(); var myList = $('select#my-select').val(); var list_n
$("#getSelected").click(function (e) {
e.preventDefault();
var myList = $('select#my-select').val();
var list_new = "[" +myList+ "]"
var parseList = JSON.parse(list_new);
var ajaxResponse = $.ajax({
type: 'POST',
url: "/mysite/my-account/updatefavourite.cfm?q=1&buster='+new Date().getTime();",
contentType: "application/json; charset=utf-8",
cache: false,
data: JSON.stringify( parseList ),
success: function() {
$("#successMessage").show();
}
})
alert("test");
location.reload();
});
在Chrome和firefox中,无需警报即可正常工作。在IE中,如果我包括警报(“测试”),那么一切正常。数据被发布到我的页面,它更新数据库,重新加载页面并更新显示列表。删除警报后,url将不再工作,数据也不会发送到我的页面。
有人能帮忙吗。为什么在IE中,它可以与警报一起工作,但不能没有警报,我如何才能让它在没有警报的情况下工作。问题在于,在AJAX请求完成之前,您正在调用
reload()
,因此,这取决于响应返回的速度和浏览器处理的速度,请求被取消,页面被卸载
要在AJAX调用的success
处理程序中修复此调用reload()
:
$(“#getSelected”)。单击(函数(e){
e、 预防默认值();
//vars。。。
var ajaxResponse=$.ajax({
//ajax设置。。。
成功:函数(){
$(“#成功消息”).show();
location.reload();
}
});
});代码>你是对的。我将按照建议更改代码,因为它会破坏使用Ajax的目标。谢谢,你的解决方案很有效,但现在实际上不需要了,不过还是要谢谢你。没问题,很乐意帮忙