Jquery getJSON php数组到javascript

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

在我的array.php </ p>

 &lt;?php 

header(“Content-type:text / javascript”) ;

$ arr = array(

“name”=&gt;“Tim”,
“age”=&gt;“28”);

echo json_encode($ arr);
\ n?&gt;
</ code> </ pre>

在我的test.html中:</ p>

 &lt; html&gt; 
&lt; head&gt ;
&lt; script type ='text / javascript'src ='jquery.js'&gt;&lt; / script&gt;
&lt; / head&gt;
&lt; body&gt;

&lt; script type =' text / javascript'&gt;

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

&lt; / script&gt;

&lt; / body&gt;
&lt; / html&gt;
</ code> </ pre>
</ div>

展开原文

原文

I am testing the getJSON with php array, but it is not working, can anyone check for me ? I feel the problem is from the php code because when i test the html code with getJSON url https://graph.facebook.com/zombies, it is working.

In my array.php

<?php

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

 $arr = array(

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

echo json_encode($arr);

?>

In 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>

dougan1205
dougan1205 好吧,我已经解决了我的问题,在php:echo$_GET[“callback”]。“(”。json_encode($arr)。“)”;在html:$.getJSON('array.php?callback=?',function(data)所以交叉服务器可以完成
接近 8 年之前 回复
dontoften8899
dontoften8899 它仍然无法正常工作
接近 8 年之前 回复
douyin8623
douyin8623 尝试内容类型application/json
接近 8 年之前 回复

3个回答




header(“Content-type:text / javascript”); </ code> </ p >
</ blockquote>

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

如果您解决了这个问题,它应该可以正常运行,前提是您没有遇到同源政策。 如果您正在进行跨域请求,您的选项是:</ p>


  • 不要使用ajax和JSON,请使用 JSON-P 。</ p> </ li>

  • 使用 CORS ,但它要求服务器允许您的文档来源,并且浏览器支持它(大多数现代的) 做,老年人没有。)</ p> </ li>

  • 使用 YQL作为跨域代理。</ p> </ li>
    </ ul>
    </ div>

展开原文

原文

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

You're telling the browser you're sending it JavaScript, when what you're sending it is JSON. The content type for JSON is application/json.

If you fix that, it should work, provided you're not running afoul of the Same Origin Policy. If you're making a cross-domain request, your options are:

  • Don't use ajax and JSON, use JSON-P.

  • Use CORS, but it requires that the server allow your document's origin, and that the browser supports it (most modern ones do, older ones don't).

  • Use YQL as a cross-domain proxy.

dreljie602951
dreljie602951 跨域选项也适用于同一个域。
接近 8 年之前 回复
dsdfd2322
dsdfd2322 我有一个问题,如果阵列传输发生在本地和跨域,我该怎么办?
接近 8 年之前 回复
douli6605
douli6605 哦...我发现了我的问题,因为我的脚本在Ubuntu服务器内,我从win 7运行它,thx为它!
接近 8 年之前 回复



更改</ p>

标题(“Content-type:text / javascript”); </ code> </ p>

To </ p>

  header('Content-Type:application / json'); 
</ code> < / pre>

对于JSONP </ p>

  header('Content-Type:application / javascript'); 
</ code> </ pre> \ n </ div>

展开原文

原文

Change

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

To

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

For JSONP

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

drugs3550
drugs3550 好例子.....
接近 8 年之前 回复



尝试将内容类型设置为</ p>

  application / json 
</ code> </ pre>

因此jQuery将作为json数据插入</ p>
</ div>

展开原文

原文

Try to set the content type to

application/json

So jQuery will interpte as json data

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问