从php获取json数组

时间:2013-06-07 17:25:10

标签: php javascript jquery json

我知道你可以从getJSON获取PHP的JSON数组。但我不能让它返回数组,所以我可以保存它。

有没有办法做到这一点?

例如,如果我创建了一个名为getJSONInfo()的函数,并且我希望它从PHP返回JSON数组。

回答edwardmp的例子:

$.getJSON("http://site.com/file.php?id=2", function(json){
    var newArray = json;
});

var username = newArray.username;

2 个答案:

答案 0 :(得分:1)

当然有办法:

在您的JS / HTML页面中:

$.getJSON("http://site.com/file.php", function(json){
    alert("JSON Data: " + json);
});

在您的PHP文件中:

$results = array("key" => "value");
echo $_GET['callback'] . '(' . json_encode($results) . ')';

如果您提供GET参数,请像这样使用它,而不是直接在网址中使用。

var myparameter = 'parameter content';

$.getJSON('site.com/file.php', { myparameter: escape(myparameter) }, function(data) {
    // code here
});

答案 1 :(得分:1)

看起来您希望此代码能够异步工作:

var newArray = $.ajax({
    async=true,
    dataType: "json",
    url: "http://site.com/file.php?id=2"
});

// this line will only be reached AFTER the HTTP request has completed
alert(newArray.username);

然而(或者)我真的建议处理在回调中使用myArray.username的所有代码。这就是AJAX最终的工作方式,否则只是JAX!看起来有点像这样:

function haz_json(newArray) {
    alert(newArray.username);
}
$.ajax({
    dataType: "json",
    url: "http://site.com/file.php?id=2",
    success: haz_json
});