【发布时间】:2016-01-07 13:55:41
【问题描述】:
我有以下 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) ""。
我知道,当代码不起作用时,总是我做错了。但是我真的看不出这里的错误。
【问题讨论】:
-
您是否尝试过
var_dump($_POST)并查看发送的内容? -
@Saty 这是一个路由的东西,所以这不是问题。文件 delete_document 被识别为 /delete_document。我通过回显一些随机字符串来尝试它。
-
@Saty 为什么?他可能正在使用 url 重写。无论如何,他得到 string(0) "" 作为
var_dump结果,这意味着 PHP 代码正在被解析。 -
@amygrimaldi 您是否在 Firebug(或类似软件)中检查了
id确实已正确发送到服务器? -
所以它工作正常。我看看有什么问题。重定向到
'/delete_document'后,它不再是 POST 调用,并且第二次调用此脚本,这次没有 POST 数据。