在javascript中访问Ajax响应JSON数据

在javascript中访问Ajax响应JSON数据,javascript,jquery,ajax,Javascript,Jquery,Ajax,当用户从下拉菜单中选择一个选项时,我使用AJAX请求从后端获取数据 $('#adSpace').change(function () { var sel_opt = $(this).val(); alert(sel_opt); var location = null; var width = null; var height = null; $.ajax({ ty

当用户从下拉菜单中选择一个选项时,我使用AJAX请求从后端获取数据

    $('#adSpace').change(function () {
        var sel_opt = $(this).val();

        alert(sel_opt);

        var location = null;
        var width = null;
        var height = null;

        $.ajax({
            type: "GET",
            dataType: 'json',
            url: "advertisements-controller.php",
            data: {
                action: "getDimension",
                location: sel_opt
            },
            success: function (response) {

                location = response.banner_location;
                alert(location);


            },
            error: function (xhr) {
                alert("error");
            }
        });

       });
现在,我从后端获取JSON格式的数据,如下所示:

[{"banner_location":"category_group_sidebar","banner_width":250,"banner_height":225}]
我想通过将banner\u location、banner\u width、banner\u height的值分配给javascript变量来访问这些值,但我没有做到这一点。 有什么想法吗?

用这个

location = response[0].banner_location;

您的响应以数组的形式出现:[……]。这意味着您可以使用索引访问第一个数组项。另外,如果有多个对象,您可以使用forEach或jQuery的each$response.each迭代响应

响应是一个json数组。为了访问json,您需要首先访问数组的索引,该索引由array[indexNumber]完成,然后是json的键。
在您的情况下,将是响应[0]。banner_位置

是的,我似乎错过了这一点。现在,我想用以下方式显示一条消息:如果sel_opt=='category_sidebar'{$'message'.html'请选择一个带有+宽度+*+高度+维度的图像

'},你能给我一个主意吗?你在错误的位置声明了位置。它需要在成功回调中声明。没有JSON数组或JSON对象。有数组和对象。JSON是一个字符串。
response[0].banner_location