0

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

有没有办法做到这一点?

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

来自 edwardmp 的回答示例:

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

var username = newArray.username;
4

2 回答 2

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 参数,请像这样使用它,而不是直接在 url 中。

var myparameter = 'parameter content';

$.getJSON('site.com/file.php', { myparameter: escape(myparameter) }, function(data) {
    // code here
});
于 2013-06-07T17:31:01.933 回答
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
});
于 2013-06-07T18:14:20.003 回答