Jquery getJSON php数组到javascript

时间:2012-11-24 09:27:38

标签: php javascript jquery getjson

我正在使用php数组测试getJSON,但它无法正常工作,有人可以检查我吗?我觉得问题来自php代码,因为当我使用getJSON url https://graph.facebook.com/zombies测试html代码时,它正在运行。

在我的array.php中

<?php

 header("Content-type: text/javascript");

 $arr = array(

            "name" => "Tim",
            "age" => "28"     );

echo json_encode($arr);

?>

在我的test.html中:

  <html>
  <head>
    <script type='text/javascript' src='jquery.js'></script>
  </head>
  <body>

    <script type='text/javascript'>

    $(document).ready(function() {
         $.getJSON('array.php', function(data) {        
            if(data) {
            document.write(data.age);       
            }
            else {
            alert('error');
            }
        });
    }); 
    </script>

   </body>
   </html>

3 个答案:

答案 0 :(得分:3)

更改

header("Content-type: text/javascript");

header('Content-Type: application/json');

对于JSONP

header('Content-Type: application/javascript');

答案 1 :(得分:1)

  

header("Content-type: text/javascript");

当你发送的是JSON时,你告诉浏览器你正在发送JavaScript。 JSON的内容类型为application/json

如果你解决了这个问题,它应该可行,只要你没有与Same Origin Policy发生冲突。如果您要提出跨域请求,则可以选择:

  • 请勿使用ajax和JSON,请使用JSON-P

  • 使用CORS,但它要求服务器允许您的文档来源,并且浏览器支持它(大多数现代版本都支持它,而旧版本则不支持)。

  • 使用YQL as a cross-domain proxy

答案 2 :(得分:1)

尝试将内容类型设置为

application/json

因此jQuery将作为json数据插入