在Ajax请求中返回命名数组

时间:2015-11-24 11:50:52

标签: javascript php jquery ajax

我正在尝试传回一个带有命名索引(例如: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),但它说&#34; undefined&#34;。我做错了什么?

1 个答案:

答案 0 :(得分:1)

正如@A所建议的那样。沃尔夫通过dataType

$.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");