我知道你可以从getJSON获取PHP的JSON数组。但我不能让它返回数组,所以我可以保存它。
有没有办法做到这一点?
例如,如果我创建了一个名为getJSONInfo()的函数,并且我希望它从PHP返回JSON数组。
回答edwardmp的例子:
$.getJSON("http://site.com/file.php?id=2", function(json){
var newArray = json;
});
var username = newArray.username;
答案 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
});