在Ajax中从PHP中分割数组
问题描述:
好吧,我使用Json将一些数据从PHP发送到Ajax(完美工作),但是我的问题出现在为什么我想分割该响应。在Ajax中从PHP中分割数组
如何使用例如提醒每个元素?
$.ajax({
url:"myHandler.php",
type:"POST",
data:{function:"rxz", xLast:xx, yLast:yy},
dataType:'json',
success:function(data){
alert(data); //How do I alert EVERY single data element on its own?
},
error:function(data) { console.log(data); }
});
从PHP的东西被送到像这样
print json_encode(array($json_array,$from,$to));
它基本上是发送一个阵列&包含从和到它的内部
答
你为什么不调整你的PHP返回一个适当的阵列。这样的事情就好办了:
print json_encode([
'data' => $json_array,
'from => $from,
'to' => $to
]);
然后你就可以你的jQuery中遍历:
jQuery.each(data.data, function(i, element) {
alert(element);
});
你甚至可以用“正确”的做法并在返回状态码的json([....'status' => true/false ....]
),然后您可以正确显示最终结果。
答
您可以使用每个回路表示用于JSON的每一个元素警报导致
success: function(data){
$.each(data, function(index, value){
alert(value);
});
}
答
香草的Javascript:
for (var i=0; i < data.length; i++)
alert(data);
现在,这里的棘手的部分。如果数据中的所有元素都是标量,则应该没问题,但如果任何元素是数组或对象,那么您将在您的警报中获得[Object]
。因此,您最好根据您对结果的期望格式化它们,或使用JSON.stringify(element)
函数将该对象转换为其字符串表示形式。这将做到:
for (var i=0; i < data.length; i++)
alert(JSON.stringify(data));
你用过每个循环吗? – sheetal
我使用array_push作为$ json_array,如果你的意思是(和它是在一个循环内)。 –