#php #mysql #ajax #json #angularjs
#php #mysql #ajax #json #angularjs
Вопрос:
Я получаю текст от MySQL через вызов AJAX с использованием PHP. Когда я пытаюсь JSON.parse(string)
, я получаю сообщение об ошибке. Я проверил свой JSON, и оказалось, что MYSQL выдает мне некоторые значения UTF-8, которые JSON не может обработать, как мне это исправить, чтобы я мог проанализировать его на стороне клиента?
Пример JSON: While weu2019re still waiting...
Пример Javascript:
module.controller('OrdersController', function($scope, $http){
$http.get(base_url() 'orders/?position=' position)
.success(function(data){
console.log(jQuery.parseJSON(data));
});
Комментарии:
1. вы пробовали обернуть json
utf8_encode
перед выводом ответа ajax?2. @shatheesh Да, сэр, я сделал и все равно ничего.
3. предоставьте больше кода и выходных данных json, чтобы мы могли вам больше помочь
4. @shatheesh Остальная часть вывода JSON действительна в соответствии с валидатором, что вызывает проблему, так это та часть, которую я вам показал, все остальное слишком длинное и неуместное. Я добавил немного Javascript, используя AngularJS при редактировании.
5. Получите ваши данные такими, какие они есть, из
.success(function(data){ console.log(data) })
него уже идет как объект, если вы не изменили$httpProvider.defaults
Ответ №1:
$http
посмотрите Content-Type
в заголовках и проанализируйте строку для объекта для вас, если это необходимо
Таким образом, вы можете использовать свой data
аргумент как есть:
$http.get(base_url() 'orders/?position=' position).success(function(data){
console.log(data);
});
Некоторая полезная информация о $ http (посмотрите на настройку HTTP-заголовков)