繁体   English   中英

无法在PHP中接收AJAX POST数据

[英]Could not receive AJAX POST data in PHP

我正在尝试将变量作为对象发布到我的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中获取数据,并且它像一种魅力一样工作,但是当我自己分配一个对象时,它无法工作。

不要将Content-Type / contentTypefalse 您还需要发送实际的查询字符串。

现在,这应该解决它:

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

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

另外,在您的PHP中,仅使用$_POST

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM