Php 学习getjson
我试图掌握如何使用PHP中的数组使用Php 学习getjson,php,jquery,Php,Jquery,我试图掌握如何使用PHP中的数组使用$.getJSON 这里有一个简单的例子,我想做的就是输出请求的信息。警报(数据)是否应返回数组对象?我没有提醒任何事 PHP文件(account.PHP): HTML文件: $("#unsubscribe").click(function() { $.getJSON("account.php?", function(data) { alert(data); }); }); 首先,如果您尝试在浏览器中加载accou
$.getJSON
这里有一个简单的例子,我想做的就是输出请求的信息。警报(数据)
是否应返回数组对象?我没有提醒任何事
PHP文件(account.PHP):
HTML文件:
$("#unsubscribe").click(function() {
$.getJSON("account.php?", function(data) {
alert(data);
});
});
首先,如果您尝试在浏览器中加载
account.php
,这可能是一个好主意。你应该看到:
{"items":5,"others":6}
然而,你不会看到这一点。相反,您将看到一个分析错误,应该是代码>。因为您在echo
行中忘记了它
这就是为什么您不会看到任何警报。PHP错误显然不是有效的JSON,查看浏览器的错误控制台会告诉您这一点;) 在我的项目中,我使用dump函数查看json返回的数组。
这是:
function dump(arr,level) {
var dumped_text = "";
if(!level) level = 0;
//The padding given at the beginning of the line.
var level_padding = "";
for(var j=0;j<level+1;j++) level_padding += " ";
if(typeof(arr) == 'object') { //Array/Hashes/Objects
for(var item in arr) {
var value = arr[item];
if(typeof(value) == 'object') { //If it is an array,
dumped_text += level_padding + "'" + item + "'"+"\\n";
if (level < 0)
dumped_text += dump(value,level+1);
} else {
dumped_text += level_padding + "'" + item + "' => '" + value + "'"+"\\n";
}
}
} else { //Stings/Chars/Numbers etc.
dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
}
return dumped_text;
}
功能转储(arr,级别){
var_text=“”;
如果(!level)level=0;
//在行首给出的填充。
var级别_=”;
对于(var j=0;jtry:php>$arr=array('items'=>5,'others'=>6);php>$arr=json_encode($arr);php>echo$arr;{“items”:5,“others”:6}使用$.post并返回一个值为json编码的var。然后对其进行迭代,就好像它是一个对象……data.items,data.others
要添加到这一点,警报(data)
将警报[object]
试试警报(data.items+''+data.others)
@Kolink和Mike,account.php上的数组正是我看到的。我根本没有收到警报,甚至[object],所以我很明显做了错事。@stevenpepe将Javascript更改为$(document)。准备(function(){$(“#unsubscribe”)。单击(function(){alert('click fired');$)。getJSON(“account.php?”,函数(数据,状态,xhr){alert(状态);alert(xhr.status);alert(数据);});});})
并告诉我们您看到了什么。如果您根本看不到任何警报,问题在于您的单击处理程序。@DaveRandom,处理程序可以工作,我的警报和您的警报都没有成功输出。@stevenpepe请尝试使用长手$.ajax
版本(显示等效内容)并提供一个错误:
处理程序-$。getJSON
仅允许您提供一个成功:
处理程序。如果触发错误:
,将更容易找到并修复问题,因此$。getJSON
将工作。
function dump(arr,level) {
var dumped_text = "";
if(!level) level = 0;
//The padding given at the beginning of the line.
var level_padding = "";
for(var j=0;j<level+1;j++) level_padding += " ";
if(typeof(arr) == 'object') { //Array/Hashes/Objects
for(var item in arr) {
var value = arr[item];
if(typeof(value) == 'object') { //If it is an array,
dumped_text += level_padding + "'" + item + "'"+"\\n";
if (level < 0)
dumped_text += dump(value,level+1);
} else {
dumped_text += level_padding + "'" + item + "' => '" + value + "'"+"\\n";
}
}
} else { //Stings/Chars/Numbers etc.
dumped_text = "===>"+arr+"<===("+typeof(arr)+")";
}
return dumped_text;
}