Ajax-ответ unicoded

У меня угловое приложение, и я делаю AJAX-запрос. В ответ я должен получить значения true / false, но вместо этого я получаю их в юникоде (/ 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);

Ответ здесь правильный, давая true и false, когда я делаю var_dump.

Но после i json_encode и отправки ответа обратно в angular он выдается в юникоде, когда я печатаю ответ в консоли.

[{"id":"1","status":"\u0001","description":"\u2019"}]

Почему это? Дело в том, что когда я печатаю это внутри тега, все в порядке. но мне нужно получить ajax-ответ ajular в true false, чтобы сразу фильтровать некоторые данные в ng-repeat. Это происходит только тогда, когда я размещаю приложение на веб-сервере, и локально оно работает нормально.

Я также попытался использовать JSON.parse и angular.fromJson, но безуспешно. Я не могу просто проверить истинное ложное в юникоде.

1

Решение

Я решил эту проблему, используя

json_encode($return, JSON_UNESCAPED_UNICODE)

вместо

json_encode($return)
0

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]