我已调用.ajaxSubmit()
来提交数据,并在成功保存数据后,在服务器响应后,我使用JavaScript将用户重定向到下一页。问题是这个重定向大多数时间都有效,但是只有5到10%的时间,它只是将服务器响应显示为浏览器中的文本,而不是将用户重定向到下一页。
更新开始
我刚才注意到的一件奇怪的事情是该页面也被重定向到使用.ajaxSubmit()
提交的表单的URL,这意味着浏览器中显示的服务器响应的格式为action
。< / p>
更新结束
请指导这里做错了什么,为什么会出现这种随机行为?
以下是我正在使用的代码:
$(document).ready(function () {
function showResponse(data) {
if (data.success == false) {
alert(data.message);
}
else {
var redirect = data.redirect_to;
window.location.replace(redirect);
}
}
var options = {
success: showResponse, // post-submit callback
dataType: 'json'
};
// bind to the form's submit event
$('#signupForm, #mobileSignupForm').submit(function (e) {
// inside event callbacks 'this' is the DOM element so we first
// wrap it in a jQuery object and then invoke ajaxSubmit
$(this).ajaxSubmit(options);
e.preventDefault();
// !!! Important !!!
// always return false to prevent standard browser submit and page navigation
return false;
});
});
答案 0 :(得分:0)
很可能在服务器端,你没有在这5-10%的时间内获得正确的格式响应。尝试调试和检查。