我有一个angular应用程序,我发出了一个ajax请求。在响应中,我应该得到true/false值,但我用包括撇号的unicode(/u0001或/u0000)得到它们。以下是代码:
角度请求/响应
$http({
headers: {'Content-Type': 'application/x-www-form-urlencoded; charset=UTF-8'},
url: window.location.href + 'home/getItem',
method: "POST",
data: {date: date}
}).success(function(data) {
$scope.items = data;
});
PHP响应
array_push($newsArr, array(
'id' => 1,
'status' => true,
'description' => 'George's world'
));
print json_encode($newsArr);
当我进行var_dump时,这里的响应是正确的,给出true和false。
但是我在json_encode并将响应发送回angular之后,当我在控制台中打印响应时,它会以unicode给出。
[{"id":"1","status":"'u0001","description":"'u2019"}]
为什么会这样?问题是,当我把这个印在标签里的时候,一切都好。但我需要得到true-false的anjolajax响应,以便在ng repeat中直接过滤一些数据。只有当我在网络服务器上托管应用程序并且在本地运行良好时,才会发生这种情况。
我也试过使用JSON的JSON.parse和angular.fromJson,但没有成功。我不能简单地在unicode中验证真-假。
我使用解决了这个问题
json_encode($return, JSON_UNESCAPED_UNICODE)
而不是
json_encode($return)