如何在Javascript中解析我的AJAX数组的特定部分?

时间:2016-05-18 03:16:54

标签: javascript php jquery arrays ajax

我使用AJAX将包含许多变量数据的数组发送回我的页面以显示。该阵列现在看起来像这样:

    {"dateName":"05/18/2016","hour1":null,"hour2":null,"hour3":null,"hour4":null,"hour5":null,"hour6":null,"hour7":null,"hour8":null,"hour9":null,"hour10":null,"hour11":null,"hour12":null,"hour13":null,"hour14":null,"hour15":null,"hour16":null,"hour17":null,"hour18":null,"hour19":null,"hour20":null,"hour21":null,"hour22":null,"hour23":null,"hour24":null}

现在我使用

在数据框中显示数组的各个部分
            //AJAX Data
            success: function(data) {
            var array = data.split(",");
            $("#date").html(array[0]);
            i = 0;
                while (i < 25) {
                $("#hour"+i).html(array[i]);
                i++;
                }

这会在我的网页上显示如下所示的数据

  

“hour1”: “睡眠”

如您所见,引号中的变量名称和通过ajax传递的变量值。但我只想要

  

睡眠

显示(没有引号,没有变量)。如何从显示的数据中获取变量名称和引号?

非常感谢你!

5 个答案:

答案 0 :(得分:0)

          //AJAX Data
            success: function(data) {
            var hour = "hour";
            for(var i=0; i<data.length; i++) {
              hour += i;
              console.log(data.hour)
            }

答案 1 :(得分:0)

success: function(data) {
   var json_obj =JSON.parse(data)
   $("#date").html(json_obj['datename']);
   i = 0;
   while (i < 25) {
     $("#hour"+i).html(json_obj['hour'+i]);
     i++;
   }
}

答案 2 :(得分:0)

使用此

$.ajax({url: "demo_test.txt", success: function(result){
       // $("#div1").html(result);


        var parsed = JSON.parse(result);
        alert(parsed["hour1"]);
    }});

答案 3 :(得分:0)

通过stackexchange中的一些很棒的成员的帮助,我终于想出了如何发送ajax,回调多个变量,并在我的页面上干净地排列它们。附上我的代码,我希望这可以帮助未来的用户。

//SEND MULTIPLE DATA THROUGH AJAX
        <script>
        function ajax() {
            $.ajax({
                type: "POST",
                url: "changeDate.php",
                data: {
                    amount: changeDate,
                    loginName: "benjamin_lawson"
                },

                success: function(result) {
                    //make array out of data
                    var array = JSON.parse(result);
                    $("#date").html(array[0]);

                    i = 0;
                    while (i < 25) {
                        //call array information for parts
                        $("#hour"+i).html(array[i]);
                        i++;
                        }
                    }
                });
            }
        </script>
        <?php

            //create the array
                $response_arr = array();

            //add your variables to the array
                $response_arr[] = date("m/d/Y", strtotime("+" . $amount . " day"));
                $response_arr[] = $row[$dateName];      

            //echo the final array to be sent to your ajax
                echo json_encode($response_arr);

        ?>

答案 4 :(得分:-1)

您可以使用JSON.parse将字符串转换为json obj:

  

json_obj = JSON.parse(数据)   $(&#34;#日期&#34)的HTML。(json_obj [&#39;&#39;]);