2012-05-08 36 views
0

我有这样的PHP代码:想不通为什么JSON/JSONP不工作

JSON.php

<?php 
    $array = array('items' => 38); 
    $JSONItems = json_encode($array); 
    return $JSONItems; 
?> 

Items.html

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script> 
<script type="text/javascript"> 
    $.getJSON("http://domain.com/JSON.php?callback=?", 
     function(data){ alert(data.items) } 
    ); 
</script> 

当Items.html显示没有警报被触发,并且没有任何反应。 (没有控制台错误或任何东西)

任何想法我做错了什么?

+2

呃,难道你的意思是'echo'从PHP脚本? –

+0

应该这样做 –

回答

0

我只是尝试这样做,它工作正常

<script type="text/javascript"> 


    </script> 
<script> 
$(document).ready(function() { 
    $.getJSON("http://localhost:8080/json.php", 
    function(data){ alert(data.items) } 
); 
}); 
</script> 

PHP

<?php 
$array = array('items' => 38); 
$JSONItems = json_encode($array); 
print_r($JSONItems) ; 
?> 
+0

当php脚本不输出任何内容时,这不会起作用;) –

+0

使用JSON.stringify()函数的另一个好习惯试试谷歌它 – 2012-05-08 02:42:10

+0

如何添加?callback =? (为JSONP)我可以得到它在上面列出的格式工作,但我无法得到它的工作JSONP – Talon

3

你调用你的PHP脚本return。这不符合你的想法。

你需要使用echo

+0

我知道了在没有JSONP的情况下工作,但是当我添加?callback =?时(对于JSONP它不起作用。) – Talon

相关问题