我有以下ajax代码通过post发送数据到php:
checked_id = 10;
$.ajax({
url: "/delete_document",
type: "POST",
data: {id:checked_id}, // a
success: function(data, textStatus, jqXHR){
alert(data);
location.href='/delete_document';
},
error: function (jqXHR, textStatus, errorThrown){
//alert('Error!')
}
});
它成功准备数据,并提醒正确的值(10)。
然后我应该在php文件中获取此值:
$selected_id = $_POST['id'];
var_dump($selected_id);
但是var_dump给了我 string(0)“”。
我知道当代码不起作用时,我总是那个做错了的人。但我真的不能在这里看到错误。
答案 0 :(得分:2)
问题是你在这段代码完成后最终看到的不是 POST ajax调用的结果,但是它是行重定向的结果
location.href='/delete_document';
这会再次调用/delete_document
URL,这次是简单的GET请求,没有您希望它拥有的POST数据。
编辑。
您希望使用POST数据移至/delete_document
,而不是进行ajax调用并重定向到该页面。你不能通过重定向来做到这一点,所以你应该制作一个表格并用JavaScript提交。
以下是您尝试做的事情的一个示例: JavaScript post request like a form submit