如何使用jQuery浏览AJAX请求返回的结果?
我的代码:
<script type="text/javascript">
function MyFunction(comp_id) {
var user_id = document.getElementById("user").value;
jQuery.ajax({
type: "GET",
url: "chart.php?q="+comp_id+"&u="+user_id ,
data: "call=test",
success: function(Array){
alert(Array);
}
});
}
</script>
我的结果:
Array
(
[0] => Array
(
[valeur] => 70
[date] => 2016-02-19 11:46:37
)
[1] => Array
(
[valeur] => 40
[date] => 2016-02-19 11:50:38
)
)
如何浏览此结果。
提前谢谢
答案 0 :(得分:0)
试试这个
注意:数组必须是json编码的
<script type="text/javascript">
function MyFunction(comp_id) {
var user_id = document.getElementById("user").value;
jQuery.ajax({
type: "GET",
url: "chart.php?q="+comp_id+"&u="+user_id ,
data: "call=test",
success: function(Array){
$.each( Array, function( key, value ) {
alert( value.valeur + ", " + value.date );
});
}
});
}
</script>
你的php响应必须是
json_encode(Array
(
[0] => Array
(
[valeur] => 70
[date] => 2016-02-19 11:46:37
)
[1] => Array
(
[valeur] => 40
[date] => 2016-02-19 11:50:38
)
));
您可以在浏览器的控制台面板中看到它。 (在大多数浏览器中打开控制台面板的F12键)
答案 1 :(得分:0)
您可以像这样阅读多维数组的每个结果:
jQuery.ajax({
type: "GET",
url: "chart.php?q="+comp_id+"&u="+user_id ,
data: {call: "test"},
success: function(Array){
for(var i = 0; i < Array.length; i++) {
var result = Array[i];
var valeur = result['valeur'];
var date = result['date'];
// You can use these variables now :). For example:
alert("Entry " + i + ": Valeur: " + valeur + ", Date: " + date + ".");
}
}
});
顺便说一下,我不确定data: "call=test"
部分。我一直以为它应该像data: {call: "test"}
。请参阅:http://api.jquery.com/jquery.ajax/
编辑:实际上,既然你还在使用jQuery,你也可以使用.each循环数组,如下面的解决方案所示。
答案 2 :(得分:0)
1)您必须将您的回复编码为JSON 你不能通过基于字符串的索引访问JS数组! 看看:http://api.jquery.com/jquery.ajax/
2)如何浏览 ajax的响应
<script type="text/javascript">
function MyFunction(comp_id) {
var user_id = jQuery("#user").val();
jQuery.ajax({
type: "GET",
dataType: "json",
url: "chart.php?q="+comp_id+"&u="+user_id ,
data: "call=test",
success: function(response){
jQuery.each(response, function(object, index) {
alert(object.valeur + ' | ' + object.date);
});
// or just displayed it in your console (inspector)
console.log(response);
}
});
}
</script>
3)PHP-Server Side 看看这个:http://php.net/manual/de/function.json-encode.php