如何在PHP和ajax中处理PHP表单数据

如何在PHP和ajax中处理PHP表单数据,php,jquery,forms,Php,Jquery,Forms,我有一个php文件,其中有一个指向iteself的表单。因此,为了用php处理表单数据,我必须检查post变量是否存在 if(isset($_POST['variable'])). 问题是我也想用jQueryAjax处理表单数据。但是jquery没有得到我在if中设置的post变量。当我试图不使用if时,我得到了一个未定义索引的通知。有办法解决这个问题吗?我解决了这个问题,我认为解决方案是在jquery函数的开头而不是结尾使用event.preventedfaul。您可以使用一个附加的或者语

我有一个php文件,其中有一个指向iteself的表单。因此,为了用php处理表单数据,我必须检查post变量是否存在

if(isset($_POST['variable'])). 

问题是我也想用jQueryAjax处理表单数据。但是jquery没有得到我在if中设置的post变量。当我试图不使用if时,我得到了一个未定义索引的通知。有办法解决这个问题吗?

我解决了这个问题,我认为解决方案是在jquery函数的开头而不是结尾使用event.preventedfaul。

您可以使用一个附加的
或者
语句来处理AJAX请求,如下所示:

if (isset($_POST['variable'])) {

} else if (isset($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest') {
  // handle AJAX requests
  // the code inside the else if statement is one of the common ways to check
  // whether the request is an AJAX request, but there are also other ways
}

jQuery AJAX部分可能不需要更改。

提供有问题的代码。听起来您在理解jquery的功能方面可能有一个基本问题。您可以通过ajax提交,也可以不通过ajax提交,而不是两者都提交。如果您希望jQuery处理变量,那么请删除php函数
If(isset($\u POST['varibale')不在图片中,自然地让$.ajax完成它的工作。否则,脚本将处于“死锁”状态,因为您希望通过php或ajax处理数据,而不会产生结果。