我有一个有角度的应用程序,我发出ajax请求。在响应中我应该得到真/假值,但我得到它们在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"}]
这是为什么?问题是,当我在标签内打印时,一切都还好。但是我需要在真假中得到anjular ajax响应,以便在ng-repeat中直接过滤一些数据。只有当我在Web服务器中托管应用程序并且在本地工作正常时才会发生这种情况。
我也试过使用JSON.parse和angular.fromJson,但没有运气。我不能简单地在unicode中验证true false。
答案 0 :(得分:0)
我使用
解决了这个问题json_encode($return, JSON_UNESCAPED_UNICODE)
代替
json_encode($return)