【发布时间】:2015-11-24 11:50:51
【问题描述】:
我正在尝试传回一个带有命名索引的数组(例如:data.sugg_id)以用于发布请求。这就是我的 javascript / jQuery 的样子:
$.post('submit_text.php', JSON.stringify({'unit_id' : unit_id,
'text' : text,
'ignore_warnings' : ignore_warnings
}),
function(data) {
sugg_id = data.sugg_id;
if (data.status == 'failure') {
warning_history = {}
showMessage(errorBox, data.message);
warnBox.fadeOut("fast");
}
我的 submit_text.php 看起来像:
<?
header("Content-Type: application/json");
$unit_id = $_POST["unit_id"];
$text = $_POST["text"];
$ignore_warnings = $_POST["ignore_warnings"];
$sugg_id = 24;
//$status = "success";
$status = $text;
$message = "";
$data = array("sugg_id" => $sugg_id, "status" => $status, "message" => $message);
echo json_encode($data);
?>
我尝试使用 alert(data.status) 但它显示“未定义”。我做错了什么?
【问题讨论】:
-
alert(data)的输出是什么?如果它有数据,可能它仍然是 json 格式,所以你需要像data = JSON.parse(data);一样解析它。 -
将数据类型
json传递给$.post()方法 -
您是否在 php 脚本中指定为 Content-Type: application/json
-
你的控制台显示什么?
标签: javascript php jquery ajax