при получении HTTP-ответа JSON после получения сообщения об ошибке при синтаксическом анализе

0

Я создаю приложение в ионной структуре, и я делаю http-доступ к backend REST API (он запрашивается при каждом нажатии кнопки), который отправляет ответ в формате JSON.

кнопка:

<div class="RequestButton">
<div class="button button-assertive" ng-click="request()">
  <a class="button">Request</a>
</div>
</div>

Вот код из приложения, который вызывает вызов бэкэнд:

$scope.request = function () {
                    var requestURL = API_URL + "request";
                    $http.post(requestURL, "userID=TJones92&cat=Mobile", { headers: { 'Content-Type': 'application/x-www-form-urlencoded' } }).then(
                        function (res) {
                            $scope.response = res.data

                        })

Когда бэкэнд возвращает ответ на приложение, я получаю эту ошибку в консоли веб-страницы:

Error: JSON.parse: expected property name or '}' at line 1 column 5 of the JSON data
fromJson@http://localhost:8100/lib/ionic/js/ionic.bundle.js:14543:9
defaultHttpResponseTransform@http://localhost:8100/lib/ionic/js/ionic.bundle.js:22560:16
transformData/<@http://localhost:8100/lib/ionic/js/ionic.bundle.js:22651:12
forEach@http://localhost:8100/lib/ionic/js/ionic.bundle.js:13648:11
transformData@http://localhost:8100/lib/ionic/js/ionic.bundle.js:22650:3
transformResponse@http://localhost:8100/lib/ionic/js/ionic.bundle.js:23406:23
processQueue@http://localhost:8100/lib/ionic/js/ionic.bundle.js:27879:28
scheduleProcessQueue/<@http://localhost:8100/lib/ionic/js/ionic.bundle.js:27895:27
$RootScopeProvider/this.$get</Scope.prototype.$eval@http://localhost:8100/lib/ionic/js/ionic.bundle.js:29158:16
$RootScopeProvider/this.$get</Scope.prototype.$digest@http://localhost:8100/lib/ionic/js/ionic.bundle.js:28969:15
$RootScopeProvider/this.$get</Scope.prototype.$apply@http://localhost:8100/lib/ionic/js/ionic.bundle.js:29263:13
done@http://localhost:8100/lib/ionic/js/ionic.bundle.js:23676:36
completeRequest@http://localhost:8100/lib/ionic/js/ionic.bundle.js:23848:7
requestLoaded@http://localhost:8100/lib/ionic/js/ionic.bundle.js:23789:9

Не уверен, почему я получаю эту ошибку, и ионный не позволит мне что-либо сделать для ответа JSON. Я не уверен, что я делаю это неправильно

  • 0
    Похоже, ответ от сервера на самом деле не JSON. Можете ли вы опубликовать свой ответ?
  • 0
    Проверьте фактический запрос в сети инструментов разработчика браузера, чтобы увидеть, что на самом деле возвращается. Покажите свой выходной код PHP
Показать ещё 2 комментария
Теги:
ionic-framework

2 ответа

0
Лучший ответ

Я очень уверен, что ответ json, который посылает ваш сервер, не в правильном формате. Я бы предложил сначала проверить ответ сервера с помощью JSON Validator

И сделайте необходимые изменения на стороне сервера. Полагаю, после этого ваша проблема будет решена.

  • 0
    Вы были правы, спасибо за помощь!
0

Может быть проблемой со значениями, заключенными в одинарные кавычки. Оформить этот пост, на который есть ответ на ваш вопрос.

JSON.parse: ожидаемое имя свойства или '}'

Ещё вопросы

Сообщество Overcoder
Наверх
Меню