我的代码:
<script>
$('#form').submit(function() {
$.ajax({
type: 'POST',
url: $(this).attr('action'),
dataType: 'json',
success: function(json) {
window.location.href = "http://www.example.com";
}
});
return false;
});
</script>
表格:
<form id="form" class="center" action="http://localhost/products/index.php?route=checkout/cart/add" method="post">
<input type="text" name="cname">
<input type="hidden" name="product_id" value="51">
<input type="submit">
</form>
当表单按下提交时,它会转到仅仅是JSON成功消息的操作页面,我想要做的是重定向到除操作页面之外的其他页面,但我的代码似乎不起作用?< / p>
我的代码究竟出了什么问题,有人可以帮我解决吗?
如果你能帮助我,我将非常感激,非常感谢!
答案 0 :(得分:2)
您没有发布任何使POST无用的数据。
你也没有错误处理程序
尝试:
$(function(){
$('#form').submit(function() {
var $form = $(this);
$.ajax({
type: 'POST',
url: $form.attr('action'),
// data to send
data: $form.serialize(),
dataType: 'json',
success: function(json) {
window.location.href = "http://www.example.com";
},
error: function(){
// do something when request fails - See $.ajax docs
}
})
return false;
});
});
答案 1 :(得分:0)
您可以使用此代码进行错误处理!您还可以在stackOverflow上查看此问题,以便使用jQuery / JavaScript重定向到另一个页面: click here
$('#form').submit(function() {
var $form = $(this);
$.ajax({
type: 'POST',
url: $form.attr('action'),
// data to send
data: $form.serialize(),
dataType: 'json',
success: function(json) {
window.location.href = "http://www.example.com";
},
error: function (jqXHR, exception) {
var msg = '';
if (jqXHR.status === 0) {
msg = 'Not connect.\n Verify Network.';
} else if (jqXHR.status == 404) {
msg = 'Requested page not found. [404]';
} else if (jqXHR.status == 500) {
msg = 'Internal Server Error [500].';
} else if (exception === 'parsererror') {
msg = 'Requested JSON parse failed.';
} else if (exception === 'timeout') {
msg = 'Time out error.';
} else if (exception === 'abort') {
msg = 'Ajax request aborted.';
} else {
msg = 'Uncaught Error.\n' + jqXHR.responseText;
}
alert(msg);
},
});
});
答案 2 :(得分:0)
您需要具有单独的错误和成功处理程序,如下所示。 在成功方法中,您可以重定向到其他页面/网站(window.location.href =&#34; http://www.EXAMPLE.com&#34 ;;)
var ajaxUpdateRequest = {
url: '/dotnethelpers/UpdateUsers',
dataType: 'json',
success: updateSuccessfully, //Separate method for handling success
error: showError //Separate method for handling error
};