发布表单并重定向到PHP

时间:2014-01-07 15:07:15

标签: php jquery html5 forms

我正在使用此jQuery代码提交动态表单:

$('#formsite').on('submit', function (e) {
  //prevent the default submithandling
  e.preventDefault();
  //send the data of 'this' (the matched form) to yourURL
  $.post('inc/siteform.php', $(this).serialize());
});

但此方法仅将数据发送到PHP文件。我还希望它将我重定向到那里,作为一个普通的PHP POST提交。

我该怎么做?

以下是完整的测试网站:http://edge-americas.com/control/main.html

更新:

使用JQuery方法重定向我,但它不会同时发送formdata所以我不能使用$ _POST []变量:

$('#formsite').on('submit', function (e) {
  //prevent the default submithandling
  e.preventDefault();
  //send the data of 'this' (the matched form) to yourURL
  $.post('inc/siteform.php', $(this).serialize(),function(response){
    window.location = "inc/siteform.php";
    });
});

还有其他方法可以继续使用jquery并解决它吗?

3 个答案:

答案 0 :(得分:0)

Javascript完美适用于此:

window.location.href = "URL";

或者正如安迪所指出的那样,如果你想让用户回头而没有问题,只需删除。

window.location = "URL";

答案 1 :(得分:0)

您也可以使用window.location.replace()并传递您想要重定向的网址作为参数。

Location.replace()了解有关该方法的更多信息。

答案 2 :(得分:0)

您可以在成功或服务器应答后重定向或刷新页面。例如:

$.ajax({
    url:"?show=ajax_request&action=add_offer",
    type:"POST",
    data: {var_to_send : somevar},
    dataType: "json",
    success: function(answer){
        if ( answer.result == 'success' )
        {
            location.reload(); // refresh the page
        }
        else if ( answer.result == 'error' )
        {
            window.location.href = "http://google.com"; // redirect to another page
        }
   }
});