我正在尝试为发布请求传回具有命名索引的数组(例如: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),但它说“未定义”。我做错了什么?
最佳答案
按照@A的建议。沃尔夫传递数据类型
$.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");
}
}, "json");
关于javascript - 在 Ajax 请求中返回命名数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33892949/