Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/288.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery getJSON php数组到javascript_Php_Javascript_Jquery_Getjson - Fatal编程技术网

Jquery getJSON php数组到javascript

Jquery getJSON php数组到javascript,php,javascript,jquery,getjson,Php,Javascript,Jquery,Getjson,我正在用php数组测试getJSON,但它不工作,有人能帮我检查一下吗?我觉得问题出在php代码上,因为当我用getJSON url测试html代码时,它正在工作 在my array.php中 <?php header("Content-type: text/javascript"); $arr = array( "name" => "Tim", "age" => "28" ); echo json_encod

我正在用php数组测试getJSON,但它不工作,有人能帮我检查一下吗?我觉得问题出在php代码上,因为当我用getJSON url测试html代码时,它正在工作

在my array.php中

<?php

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

 $arr = array(

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

echo json_encode($arr);

?>

在my 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>

$(文档).ready(函数(){
$.getJSON('array.php',函数(数据){
如果(数据){
文件。写入(数据。年龄);
}
否则{
警报(“错误”);
}
});
}); 
更改

标题(“内容类型:text/javascript”)

对于JSONP

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

标题(“内容类型:text/javascript”)

对于JSONP

header('Content-Type: application/javascript');
标题(“内容类型:text/javascript”)

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

若你们解决了这个问题,只要你们不触犯法律,它就会起作用。如果您提出跨域请求,您可以选择:

  • 不要使用ajax和JSON,请使用

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

  • 使用

标题(“内容类型:text/javascript”)

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

若你们解决了这个问题,只要你们不触犯法律,它就会起作用。如果您提出跨域请求,您可以选择:

  • 不要使用ajax和JSON,请使用

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

  • 使用


尝试将内容类型设置为

application/json

因此jQuery将解释为json数据

尝试将内容类型设置为

application/json

因此jQuery将解释为json数据

尝试我用php:echo$\u GET[“callback”]解决问题的内容类型应用程序/jsonok。“(“.json_encode($arr)。”)”;在html中:$.getJSON('array.php?callback=?'),函数(数据)以便跨服务器运行内容类型应用程序/jsonok我已经解决了我的问题,在php中:echo$_GET[“callback”]。(“.json_encode($arr.)”);在html中:$.getJSON('array.php?callback=?'),函数(数据)所以跨服务器是可以做到的哦…我发现了我的问题,因为我的脚本在Ubuntu服务器中,我从win 7运行它,thx!我有一个问题,如果数组传输发生在本地和跨域中,我该怎么办?@jc_tan:跨域选项也适用于同一个域。哦…我发现了我的问题,因为我的脚本在Ubuntu服务器中,我从win 7运行它,thx!我有一个问题,如果数组传输发生在本地和跨域中,我该怎么办?@jc_tan:跨域选项也适用于同一域。