Php AJAXGET正在工作,但不是在同一段代码上发布

Php AJAXGET正在工作,但不是在同一段代码上发布,php,ajax,post,get,Php,Ajax,Post,Get,我试图找出为什么我使用的同一段代码不适用于POST方法,但它完全适用于GET。下面是我的代码: 然而,当我填写表单并将正确的数据发送到服务器时,当我尝试使用POST方法时,我得到的响应如下。奇怪的是,get的工作原理与预期完全一致 <br /> <b>Notice</b>: Undefined index: user in <b>C:\Users\Panagiotis\PhpstormProjects\test2\submitContact.p

我试图找出为什么我使用的同一段代码不适用于POST方法,但它完全适用于GET。下面是我的代码:

然而,当我填写表单并将正确的数据发送到服务器时,当我尝试使用POST方法时,我得到的响应如下。奇怪的是,get的工作原理与预期完全一致

<br />
<b>Notice</b>:  Undefined index: user in <b>C:\Users\Panagiotis\PhpstormProjects\test2\submitContact.php</b> on line <b>11</b><br />
The name is :    Method Used:POST

注意:第11行的C:\Users\Panagiotis\PhpstormProjects\test2\submitContact.php中的未定义索引:user
名称为:使用的方法:POST
事先非常感谢。

更改

 data: {user : userName} 


您的Ajax代码很好,在使用PHP超级全局(
$\u POST
)之前只需添加一个检查,如下所示:


您也可以使用
isset()
函数,可以使用
$\u POST
设置,也可以不使用。

我认为没有必要。。。是吗?不幸的是,我不认为这有什么区别。我开始思考,我的本地MySQL服务器是否可以用不同的方式处理GET requess的帖子。但是我读过的任何相关文章都没有找到相关的内容,这些内容涉及到需要的额外修改,而不是默认修改。是的,我没有任何额外的内容。我的HTML表单,向服务器发送正确数据的JQuery和处理接收到的数据的PHP脚本?或者你尝试过先使用POST,但它不起作用,所以你使用GET?尝试数据:“user=”+用户名,我尝试过,它应该起作用。我尝试过先使用POST,然后因为它不起作用,所以我改为GET,效果很好。另外,伙计们,我将ajax请求改为数据:“user=”+用户名,但我仍然得到这个错误。但是,在这两种方式下,请求都可以正常工作,因为数据似乎返回到服务器(我可以在firebug控制台中看到),然后PHP无法正确获取数据。请将代码稍微更改为:
if(count($\u POST)>0){$name=$\u POST['user'];echo(“名称是:”.$name);echo(“使用的方法:”).$\u服务器['REQUEST_Method'];}{echo(“没有传递数据的错误”);}
,并且结果始终移动到从else定义的第二个条件。所以仍然像POST方法没有将结果正确地处理到后面一样。@Panos:这是另一件事,你担心的是其他,而不是使用else{//nothing}。第二个解决方案是,你可以使用isset()@Panos,我的答案与未定义的索引有关……对不起,但在我之前的评论中,我忘了写“else”一词在条件的第二部分。我只想关注的是,最初没有满足条件isset()或(count($\u POST)>0)。这就像当我使用POST时,传递的数据无法识别。使用GET,您的两个建议都可以正常工作。我明白了。问题是,我最终不想选择else选项,而是要收集ajax请求发送的数据。有些事情根本不会发生,因为我每次都会收到这个未定义的索引错误。
<br />
<b>Notice</b>:  Undefined index: user in <b>C:\Users\Panagiotis\PhpstormProjects\test2\submitContact.php</b> on line <b>11</b><br />
The name is :    Method Used:POST
 data: {user : userName} 
 data: {'user' : userName} 
if(count($_POST) > 0){
   $name = $_POST["user"];
   echo ("The name is : ".$name );
}
else{
   echo "Name not found";
}