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

标签 javascript php ajax http-get

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

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 ,请在项目属性中选择许可证 header 。 要更改此模板文件,请选择“工具”|“模板 并在编辑器中打开模板。

{"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);
                }
            });

        });

关于javascript - 调用后处理来自ajax请求的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32005586/

相关文章:

php - 如何在 AppFog 上运行 Laravel artisan 命令?

javascript - 如何限制从 API 接收的数据?

ajax - 第二次提交时,TinyMCE 在 bean 中的值(使用 jsf.ajax.addOnEvent)

javascript - AJAX 不发布多字段表单

javascript - videojs 停止播放 HLS/M3U8 文件

javascript - 当 Mysql 数据库更改状态时使用 Push.js 推送通知

php - 记录错误的 file_put_contents() 工作正常 - 除了 fatal error

javascript - 提取一个对象数组内的属性,该对象数组位于另一个对象数组内,并将结果作为字符串数组

javascript - ExecJS::ProgramError: SyntaxError: 意外的标记:名称 <ClassName>

javascript - AMD : what is the purpose in javascript context?