[英]Can't receive POST data through AJAX
所以我想要做的是使用 Ajax post 将一些 jQuery 变量发送到我的 PHP 脚本。 但是,出于某种原因,我无法将 PHP 变量设置为包含 jQuery 变量的值。
我尝试了多种类型的 Ajax 数据,例如表单(new FormData();)和数组。
脚本.js
$.ajax({
url: 'file.php',
type: 'POST',
data: {
'document_id': document_id,
'section_id': section_id,
'active_state': active_state
},
beforeSend: function () {
console.log('the data is: ' + document_id + section_id + active_state + '...');
},
success: function (response) {
console.log(response + ' is locked!');
},
fail: function (error) {
console.log(error + ' could not be locked');
});
文件.php
print_r($_POST);
然而,在 Ajax 请求的成功函数中,我确实收到了一个带有适当变量的数组。 当我检查 PHP 文件的输出时,它只返回一个空白数组。
这是我最终需要做的:
if(isset($_POST['document_id'])){
$document_id = $_POST['document_id'];
$section_id = $_POST['section_id'];
$active_state = $_POST['active_state'];
// echo back the data to the success function
// proceed with insert into database
} else {
echo 'the data has not been set';
}
关于我可能做错了什么的任何见解?
尝试使用它来获取ajax请求的响应
<?php
extract($_POST);
print_r($_POST);
?>
尝试在ajax数据中添加令牌变量。
在您当前的页面中:
PHP
session_start();
if (empty($_SESSION['token'])) {
$_SESSION['token'] = bin2hex(random_bytes(32));
}
$token = $_SESSION['token'];
AJAX
data: {'_token': <?php echo $token; ?>}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.