无法在PHP中接收AJAX POST数据

时间:2017-12-17 13:43:53

标签: javascript php jquery ajax

我试图将变量作为对象发布到我的PHP文件中,但它没有收到任何数据。我尝试window.alert(u.un)来测试数据是否从AJAX调用传递,并且它工作正常,我的控制台中没有错误。但是我仍然没有在PHP文件中获取数据,也没有错误。

这是我的AJAX功能

function getfulldetails(n)
{ 
var u={un:n};  window.alert(u.un);
var locationto= "getfull.php";
$.ajax({
   type: "POST",
   url: locationto,
   data: u,
   processData: false,
   contentType: false,
   success: function(response)
      {
        window.alert(response);
      }
   });
   return false;
}

这是我的PHP文件

<?php
session_start();
if($_SERVER['REQUEST_METHOD']==='POST')
{
    if(isset($_REQUEST["un"]))
     {
        function validate_data($data)
        {
             require 'connectcred.php';
             $data = trim($data);
             $data = stripslashes($data);
             $data = strip_tags($data);
             $data = htmlspecialchars($data);
             $data = mysqli_real_escape_string($conn,$data);
             return $data;    
        }
        $u=validate_data($_REQUEST["un"]);
        echo $u;
     }
     else
     {
         echo "something's wrong";
     }
}
?>

我仅从else部分获得结果。

我使用下面的代码多次使用AJAX来从 Form 获取数据,它就像魅力一样,但是当我自己分配一个对象时它不起作用。

1 个答案:

答案 0 :(得分:0)

请勿将Content-Type / contentType设为false。您还需要发送实际的查询字符串。

现在,这应该解决它:

$.post(locationto, u, (response) => {
    window.alert(response);     
});

或者,使用data: "un=" + n

另外,在PHP中,只使用$_POST