用jquery ajax调用模拟表单提交



我有一段代码,它定义了div和单击时对它们的一些回调。为了避免代码冗余,我想重用它。回调使用$.post调用来与服务器通信,而对于这个特定的页面,我希望以表单提交的方式刷新页面。

使用form submit to submitPage.php和使用以下有什么区别吗?

$.post('submitPage',  dataParams, null, 'json').
      success(function(resp, status, req) {
        window.location = 'submitPage.php';  // redirect
      });

我很好奇这可能本质上如何影响通过submitPage.php处理dataParams中的条目。

不同之处在于,当您正常提交表单时,页面请求也具有序列化的数据。您正在将表单作为AJAX请求提交,然后将用户重定向到没有附加序列化表单数据的页面。

所以如果你需要$_POST变量可以访问submitPage.php,那么我会让表单正常提交,而不是劫持提交与AJAX请求,然后重定向用户。

您可以将$_POST数据添加到$_SESSION中,然后在重定向用户时使用它,但除非您有理由这样做,否则它似乎是不必要的代码位

最新更新