如何使用jQuery浏览AJAX请求返回的结果?

时间:2016-02-23 13:40:27

标签: jquery ajax

如何使用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
        )
)

如何浏览此结果。

提前谢谢

3 个答案:

答案 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