2012-05-08 37 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

相關問題