1

我对 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 文件:

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 中使用包含吗?我的代码有错误吗?或者它是一个错误?

4

2 回答 2

0

我遇到了似乎同样的问题,这是因为该文件必须使用 Dreamweaver 中选中的“包含 Unicoi 签名 (BOM)”进行保存。您必须在没有该选项的情况下重新保存问题文件(将复选框留空)。看到这篇文章了解更多信息。

于 2013-12-12T05:35:59.400 回答
0

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

dataType: "json",

来自 AJAX 调用。

于 2013-08-06T21:34:26.580 回答