调用后处理来自 ajax 请求的数据

Handle data from ajax request after call

我正在使用 ajax 从 php 函数中获取 returned 值,调用是正确的,但我无法正确访问数据。

ajax 调用是:

$.ajax({
            data:  {"hotel_id" : hotel_id},
            url:   '/get_type_check',
            type:  'get',     
            success:  function (response) {

                    console.log(response);
            },

             error: function(XMLHttpRequest, textStatus, errorThrown) { 
    alert("Status: " + textStatus); alert("Error: " + errorThrown); 
}    
    });

如果我打印控制台日志显示:

<!DOCTYPE html>

评论: 要更改此许可证 header,请在项目属性中选择许可证 Headers。 要更改此模板文件,请选择工具 |模板 并在编辑器中打开模板。

{"status":["CAB2"]}

和 php 函数:

 public function get_type_check(){


    $type_checks=Hotel::get_type_checks($_GET['hotel_id']);

    echo json_encode(array('status' => $type_checks));

}

如何获得 response.status?

我应该使用 return 而不是 "echo" 吗?

您必须解析对 json 的响应才能将其捕获为 json。

只需添加以下行:

var data = $.parseJSON(response);

因此您的 ajax 将如下所示:

$.ajax({
                data: {"hotel_id": hotel_id},
                url: 'ajax.php',
                type: 'get',
                success: function(response) {

                    var data = $.parseJSON(response);

                    console.log(data.status);
                },
                error: function(XMLHttpRequest, textStatus, errorThrown) {
                    alert("Status: " + textStatus);
                    alert("Error: " + errorThrown);
                }
            });

        });