jQuery 1.9.1 ajax()json响应:php with include

时间:2013-02-20 18:00:58

标签: php jquery ajax json include

我遇到了jQuery 1.9.1和json响应的问题。 我的html-File非常简单,可用于测试(使用jQuery 1.8.3):

<!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-File:

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

但是当我改为jQuery 1.9.1时,我没有得到回应。 我必须评论seconde行include('core/database.php');之后我得到了jQuery 1.9.1的响应。 database.php只有一行用于测试$db_host = 'localhost';

我不能在jQuery 1.9.1中使用include吗? 我的代码中有错误吗? 或者这是一个错误?

2 个答案:

答案 0 :(得分:0)

当简单地将jQuery升级到1.9.1(从1.7.2开始,我相信)时,我遇到了同样的问题。在不更改任何其他代码或服务器的情况下,我开始收到此错误。我解决它的方法是删除行

dataType: "json",
来自AJAX电话的

答案 1 :(得分:0)

我遇到了同样的问题,这是因为该文件必须在Dreamweaver中选中“包含Unicoi签名(BOM)”时保存。您必须重新保存问题文件而不使用该选项(将复选框留空)。有关详细信息,请参阅this article