从Jquery JSON获得响应

How*_*Gee 3 html javascript php jquery json

我无法从我的php jquery/json/ajax获得响应.我一直把所有这些不同的教程组合在一起,但我似乎仍然无法将它们全部整合在一起,因为没有一个教程遵循我正在尝试做的事情.

现在我正在尝试将两个数组(因为没有简单的方法将关联数组传递)传递给我的jquery ajax函数并且只是提醒它.这是我的代码:

PHP

$names = array('john doe', 'jane doe');
$ids = array('123', '223');

$data['names'] = $names;
$data['ids'] = $ids;

echo json_encode($data);
Run Code Online (Sandbox Code Playgroud)

jQuery的

function getList(){
    $.ajax({  
        type: "GET", 
        url: 'test.php', 
        data: "",  
        complete: function(data){ 
            var test = jQuery.parseJSON(data);
            alert(test.names[0]);
            alert("here");
        }
    },
        "json");
}
getList();
Run Code Online (Sandbox Code Playgroud)

在我的html文件中,我真正调用的是我的javascript文件,用于调试目的.我知道我正在返回一个对象,但是我的名字部分中出现了一个带有空值的错误,我不知道为什么.我错过了什么?

我的PHP文件返回

{"names":["john doe","jane doe"],"ids":["123","223"]}
Run Code Online (Sandbox Code Playgroud)

它似乎刚刚结束, Uncaught TypeError: Cannot read property '0' of undefined 所以我的sub0杀了我.

nav*_*nav 5

您可以使用$.getJSONjQuery提供的外观,这将为标准JSON请求设置所有必需的ajax参数:

$.getJSON('test.php', function(response) {
    alert(response.names[0]);   // john doe
}); 
Run Code Online (Sandbox Code Playgroud)

但是我认为问题的路线是1)你的服务器可能没有返回正确的响应代码和/或正确的标题(即:JSON数据) - 但是至少后者的上述方法应该强制这个结论.

请参阅:http://api.jquery.com/jQuery.getJSON