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,因为错误正在发生.
请帮我解决这个问题.
好的,经过一些研究后,我可以确认我的评论是正确的。您的代码没有问题,并且您的代码创建的 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 字符串后立即尝试使用该函数。它可能会破坏宿主的注射。