我试图将变量作为对象发布到我的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 获取数据,它就像魅力一样,但是当我自己分配一个对象时它不起作用。
答案 0 :(得分:0)
请勿将Content-Type
/ contentType
设为false
。您还需要发送实际的查询字符串。
现在,这应该解决它:
$.post(locationto, u, (response) => {
window.alert(response);
});
或者,使用data: "un=" + n
另外,在PHP中,只使用$_POST
。