在javascript/jquery中使用PHP打印数组

在javascript/jquery中使用PHP打印数组,php,jquery,arrays,Php,Jquery,Arrays,我向服务器发出了一个简单的jquery/ajax请求,返回数组的结构和数据。我想知道是否有一种快速的方法可以使用jquery使用这个数组结构和数据 一个简单的请求 var token = $("#token").val(); $.ajax({ type: 'POST', url: './', data: 'token=' + token + '&re=8', cache: false, timeout: 5000, success: function(html){

我向服务器发出了一个简单的jquery/ajax请求,返回数组的结构和数据。我想知道是否有一种快速的方法可以使用jquery使用这个数组结构和数据

一个简单的请求

var token = $("#token").val();
$.ajax({ 
    type: 'POST', url: './', data: 'token=' + token + '&re=8', cache: false, timeout: 5000,
    success: function(html){ 
        // do something here with the html var 
    }                           
}); 
结果(来自PHP的print_r()的实际结果)

我不确定这是否行得通,但我突然想到了这一点

非常感谢您的帮助。

请使用。JSON是一种轻量级的数据交换格式,使得在不同的编程语言之间传输数据变得容易

在PHP中使用以下代码对数据进行编码:

echo json_encode($array);
在jQuery中,定义结果为
JSON
格式,jQuery将自动对其进行解析:

$.ajax({ 
    type: 'POST',
    url: './', data: 'token=' + token + '&re=8',
    cache: false,
    timeout: 5000,
    dataType: 'json',
    success: function(obj) { 
        // obj is now the same array as JS object:
        $.each(obj, function(index, row) {
            alert(row.username);
        });            
    }                           
}); 
使用。它将数组转换为JSON数据,可以直接在Javascript中使用。

可以在PHP脚本中使用。这将返回可直接在javascript中使用的JSON编码数据:

$.ajax({ 
    type: 'POST', 
    url: './', 
    data: { token: token, re: '8' }, 
    cache: false, 
    timeout: 5000,
    success: function(data){ 
        // data will already be a javascript object that you can manipulate
    }                           
}); 

data
将不会是javascript对象,除非您指定
dataType:'json'
。如果服务器发送正确的内容类型:
content-type:application/json
。我没有编写内容类型,也没有将类型更改为'json',但仍然返回正确的警报(json_数组[0]。用户名);我只能投一张赞成票,但谢谢大家。还有一件事(我真的很不懂javascript)我如何循环结果?@Phil Jackson,我修改了我的答案,加入了一个使用jQuery的
each()
方法循环结果的例子。@Phil Jackson,你也可以尝试
for()
循环,即使在这里也有很多关于这个主题的报道,因此,我不会在这方面做更详细的阐述。如果您有问题,请发布新问题!:)
$.ajax({ 
    type: 'POST',
    url: './', data: 'token=' + token + '&re=8',
    cache: false,
    timeout: 5000,
    dataType: 'json',
    success: function(obj) { 
        // obj is now the same array as JS object:
        $.each(obj, function(index, row) {
            alert(row.username);
        });            
    }                           
}); 
$.ajax({ 
    type: 'POST', 
    url: './', 
    data: { token: token, re: '8' }, 
    cache: false, 
    timeout: 5000,
    success: function(data){ 
        // data will already be a javascript object that you can manipulate
    }                           
});