我正在使用$.post()
将数据推送到php
文件中。但是当我制作$_POST
时,var_dump
是空的。
JS script
:
$('#Notes').on("click", function (e) {
e.preventDefault();
let $id = $(document).getUrlParam("varname");
let $text = $(this).attr('data');
let $notes = prompt("Modifier la note", $text);
console.log($text, $id, $notes);
if ($notes !== null || $notes !== "") {
$.post(
'../buckets/update_note.buckets.php',
{
id: $id,
notes: $notes,
},
function (data) {
console.log('Data Id : ',data.id);
console.log('Data Name : ',data.name);
})
.then(r =>{
location.replace('../buckets/update_note.buckets.php');
})
}
在 php
文件中:
<?php
var_dump($_POST);
var_dump($_GET);
console.log
中的第一个js
向我展示了3个变量的值,而回调中的console.log
向我展示了undefined
。但是我在网络调试器中看到了:
Form Data
id: xxxx
notes: xxxx
有什么想法吗?
答案 0 :(得分:0)
我相信,在您的情况下,数据将是文本。您需要在PHP中使用json_encode()
来打印复杂的对象。然后,在您的JS中,您可以使用JSON.parse()
恢复对象或在application/json
查询中定义POST
的内容类型。像这样:
// php
$json = json_encode([
'post' => $_POST,
'get' => $_GET
]);
// js
function (response) {
const data = JSON.parse(response);
}
答案 1 :(得分:0)
您可以通过这种方式尝试。
jQuery代码
Go
PHP代码
go