我无法从响应getJSON(jQuery)获取JSON对象

时间:2013-08-19 13:39:10

标签: php javascript jquery json

我是JSON的新手,我有php页面(服务器端),其中包含以JSON格式化的信息,我想在客户端(html页面)获取这些信息,我发现了一个使用此函数'getJSON'的示例jQuery做同样的事情,但我觉得我在使用它的过程中缺少一些东西,因为我没有得到我想要的响应(实际上我什么也没得到) 这是php代码:

    <?php
    //header('Content-Type: text/xml');
    header('Content-type: application/json');
    ?>

    {
        "file": 
        {
            "filename" : "Test.txt",
            "fileCreatingDate" : "15-7-2013",
            "fileModifyDate" : "20-8-2013",
            "filesize" : "3002345",
            "filetype" : "Text",
        }
    }

我相信我应该提到这是带有xml内容的php页面,我所做的是将xml格式更改为json格式,这里是客户端代码:

    <!DOCTYPE html>
              <html>
              <head>
                  <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
                  <script src="http://code.jquery.com/jquery-migrate-1.1.0.min.js"></script>
              </head>

              <body>


              <div id="response">
                  <p id="responseParagraph">Base text</p>
              </div>

              <script>
              //172.25.10.99 is the server ip
                  $.getJSON('http://172.25.10.99/list2.php',
                      function(data) {
                          $('#responseParagraph').append("<p>"+data.responseMessage+"           </p>");
                      });
              </script>
              </body>
              </html>

我想接收稍后要解析的JSON对象,我想说的是:我想做一些接近xmlhttprequest的事情并解析响应但是用JSON代替。 能否请你帮忙 ??我真的很感激。

2 个答案:

答案 0 :(得分:5)

"filetype" : "Text",后面的逗号会使您的json无效。删除它,你应该解析你的json。您可以使用jsonlint来验证您的json是否正确。

答案 1 :(得分:2)

我还注意到您没有使用key输出中的json

 $.getJSON('http://172.25.10.99/list2.php',
    function(data) {
        $('#responseParagraph').append("<p>"+data.file.filename+"</p>");
    });