2013-02-20 247 views
1

我有jQuery 1.9.1和json響應的問題。 我的HTML文件是用於測試非常簡單(使用jQuery 1.8.3工作):jQuery 1.9.1 ajax()json響應:PHP與包​​括

<!DOCTYPE html> 
<html> 
    <head> 
    <meta charset="UTF-8" /> 
    <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script> 

    <script type="text/javascript"> 

     $.ajax({ 
     url: "php/news_test.php", 
     dataType: "json", 
     success: function(json){ 
      $("#news-box").html(json.news.name); 
     } 
     }); 

    </script> 
    </head> 
    <body> 
    <div id="news-box"></div> 
    </body> 
</html> 

這工作得很好用下面的PHP-文件:

header('Content-type: application/json'); 
include('core/database.php'); 
/* 
$db = new Database(); 
... 
... 
... 
*/ 
echo json_encode(array("news" => array("name" => "Test"))); 

但是,當我改變的jQuery 1.9 .1我沒有得到迴應。 我要評論第二條線include('core/database.php');之後,我得到了jQuery 1.9.1的響應。 database.php只有一行用於測試$db_host = 'localhost';

我不能使用包含jQuery 1.9.1嗎? 我的代碼中有錯誤嗎? 或者它是一個錯誤?

+1

也許你的database.php中有一些空白的echo'd? – ikkez 2013-02-20 18:02:17

+0

這是我的database.php:<?php $ db_host ='localhost'; ?>沒有空格之前和之後 2013-02-20 18:11:59

+0

添加一個錯誤回調並記錄參數(其中有三個,第二個和第三個是我們正在尋找的。) – 2013-02-20 18:50:46

回答

0

當我簡單地將jQuery升級到1.9.1(我認爲從1.7.2開始)時,我遇到了同樣的問題。在不更改任何其他代碼或服務器的情況下,我開始出現此錯誤。我解決它的方法是從AJAX調用刪除線

dataType: "json", 

0

我有什麼似乎是相同的問題,這是因爲該文件必須已保存在Dreamweaver中選中「包含Unicoi簽名(BOM)」。您必須在沒有該選項的情況下重新保存問題文件(將複選框留空)。有關更多信息,請參閱this article