2013-10-19 74 views
0

我目前正在嘗試使用Ajax在JavaScript中使用我的php數組。即使我有json編碼數組,設置PHP內容類型和ajax數據類型,它看起來像JavaScript仍然試圖處理我的PHP腳本,而不是它輸出的JSON。這是因爲我總是收到'意外令牌<'錯誤(我的php腳本的開頭)。閱讀PHP腳本而不是JSON輸出的Ajax

這裏是我的ajax:

$.ajax({ 
    type: 'GET', 
    cache: false, 
    url: 'api.php', 
    dataType: "json", 
    error: function(jqXHR, textStatus, errorThrown) {alert(errorThrown);}, 
    success: function(data) { 
    alert(data);} 
}); 

這是我的PHP(文件名是api.php):

<?php 
header('Content-Type: application/json'); 
$aliases = array('angry','birds'); 

echo json_encode($aliases); 
?> 

我知道我的PHP輸出正確的JSON格式,因爲當我運行在我的瀏覽器中,輸出是["angry","birds"]

似乎無法弄清楚發生了什麼事情。

+0

開發人員控制檯中的網絡選項卡是否顯示響應中的源代碼? –

+0

@DanLee是的,它從這個來源得到一個文本/ php文件: api.php?_ = 1382210002876 當我雙擊它時,它將我帶到瀏覽器中的php腳本,而不是json輸出。 –

+0

而請求是由服務器提供的,而不是文件系統? –

回答

1

看起來你正試圖通過文件系統發送請求。您將獲得原始源代碼,因爲服務器/ PHP不解析您的文件。

如果您通過文件系統打開您的頁面(例如file://some/path/test.html),則請求也會通過文件系統發送。您可以從服務器打開您的頁面,或者您需要指定完整的合格位置。即在你的情況下,像http://localhost/api.php