在php中创建json时出错

Roh*_*ale 5 php json angularjs

我试图从mysql获取数据到PHP并将其以json格式返回到控制器(角度).

在json创建时,会附加一些不需要的字符串,因为我在遍历json时遇到错误.

以下是我的PHP代码:

$json_response = array();

while ($row = mysql_fetch_array($result, MYSQL_ASSOC)) {
    $row_array["name"] = $row["name"];
    $row_array["quantity"] = $row["quantity"];
    array_push($json_response,$row_array);
}
echo json_encode($json_response);
Run Code Online (Sandbox Code Playgroud)

以下是打印json后控制台输出(控制台在控制器中):

{itemData:{"data":[{"name":"item1","quantity":"10"},{"name":"item2","quantity":"20"},{"name":"item3","quantity":"25"}]      

<!-- Hosting24 Analytics Code -->
<script type="text/javascript" src="http://stats.hosting24.com/count.php"></script>
<!-- End Of Analytics Code -->

}}
Run Code Online (Sandbox Code Playgroud)

突出显示部分的上方是json,因为错误正在发生.

请帮我解决这个问题.

Ofi*_*uch 4

好的,经过一些研究后,我可以确认我的评论是正确的。您的代码没有问题,并且您的代码创建的 json 字符串也没有问题。

但是,不需要的附加字符串:

<!-- Hosting24 Analytics Code -->
<script type="text/javascript" src="http://stats.hosting24.com/count.php"></script>
<!-- End Of Analytics Code -->
Run Code Online (Sandbox Code Playgroud)

正在由您的服务器附加。我相信这是一个免费服务器,因此他们允许自己将自己的代码注入您的网站。他们有一种机制,可以将该脚本附加到服务器发出的每个请求(包括 ajax 请求)中。

由于此代码是由服务器添加的,因此您似乎无法在代码中执行任何操作来克服它。似乎唯一的选择是寻找另一家托管公司或拥有付费计划。

更新exit();- 您可以在打印 json 字符串后立即尝试使用该函数。它可能会破坏宿主的注射。