ajax里面使用 window.location.href 页面不跳转。

$.ajax({url:actionUrl.Update,async:false,data:{"KeyCode":$("#KeyCode").val(),"Coupont... $.ajax({
url: actionUrl.Update,
async: false,
data: { "KeyCode": $("#KeyCode").val(), "Coupontype": $("#Coupontype").val(), "txtBeginTime": $("#txtBeginTime").val(), "txtEndTime": $("#txtEndTime").val(),"ID":$("#hfID").val() },
dataType: 'json',
type: 'post',
success: function (result) {
if (result != null && result != "") {
if (result.success) {
alert("更新成功");
closeWin();
window.location.href = '/Activity/KeywordActivityManage';
}
else {
alert("更新失败");
}
}
}
});
展开
 我来答
星语最萌
2018-01-17 · TA获得超过691个赞
知道小有建树答主
回答量:484
采纳率:65%
帮助的人:61.5万
展开全部

ajax直接使用document.location.href='xxx.html'不能跳转存在必然问题:

首先你点击了submit,它会提交表单,但是由于你用了ajax的同步操作(也就是async:false),submit的提交被阻塞,ajax先执行,这个时候,如果你在ajax的回调函数(如:success)中写了document.location.href='xxx.html',它是执行了,的确是去执行了跳转的,于是ajax完成了,那接下来就要把刚才的submit提交的请求完成,这时候又会调回原界面,让你觉得document.location.href='xxx.html'没有跳转。

解决办法:

ajax中success添加return true

在form表单action中添加跳转地址。

希望对你有所帮助。

花也爱狼牙
2018-08-27
知道答主
回答量:32
采纳率:0%
帮助的人:13.7万
展开全部
告诉你一个真正的答案:
因为你在ajax参数中有一个async:false,这个参数的意思就是说是否允许异步,而你选择false,因此不能选择异步,即使你后面跟了随机数也好,参数也好,都是只会执行不会跳转。
将这个改为true就可以了,希望对你有帮助。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
冫戰
2017-02-19
知道答主
回答量:4
采纳率:0%
帮助的人:2.6万
展开全部
你好,请问你解决了吗?我的也是到success 函数里,能得到后台数据,数据里有跳转地址,但使用`location.href = data.url // data是返回数据对象`没有反应,好像就只是刷新
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
划过千里的祝愿
2017-08-01
知道答主
回答量:5
采纳率:0%
帮助的人:3842
展开全部
在window.location.href后加一个return false;如果还是不能跳转的话在url后面随意添加一个参数。例如"/Activity/KeywordActivityManage?username=1"
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式