Запрос: ответ не соответствует настроенному параметру

я получаю сообщение об ошибке ответа, пожалуйста, попробуйте решить мою проблему. я пытаюсь решить это, но я не решил это. пожалуйста, помогите мне. заранее спасибо

$scope.init = {};
var Call = $resource('../api/Home', {}, { query: { method: 'POST', isArray: false} });
        $scope.init = function () {
            //alert("hi");
            $scope.selected = "";
            var x = $('#txtSearch').val();
            var _ReqObj = new Object();
            _ReqObj.id = x;
            _ReqObj.Meth = "GJ";
            Call.query({}, _ReqObj,
             function (response) {
                 alert(response);
                 alert(_ReqObj);
                 if (response == '') {
                     // alert('no data');

                     window.location.replace("index.html");
                 }
                 else {
                     //$scope.click = response;
                     $scope.init = response;

                 }
             },
                        function (error) {
                            window.location.replace("index.html");

                        }
                     );
        };

person chaitanya    schedule 29.02.2016    source источник
comment
вы проверяли эту ссылку? docs.angularjs.org /ошибка/$ресурс/   -  person Abhilash Augustine    schedule 29.02.2016
comment
Не могли бы вы изменить название вопроса? Ссылка на ошибку не помогает. Не могли бы вы щелкнуть ссылку об ошибке в консоли разработчика в браузере, а затем скопировать текст с угловой страницы? :)   -  person lisa p.    schedule 29.02.2016


Ответы (1)


В сообщении об ошибке говорится: «Ожидаемый ответ должен содержать объект, но получен массив».

это означает: ваш запрос (Call.query) ожидает один объект (вы устанавливаете isArray: false). Но сервер отправляет массив. Таким образом, сервер не отправляет то, что ожидает функция!

Есть несколько советов, которые я хочу вам дать:

  1. Почему вы используете запрос? Запрос обычно используется для получения массива с сервера, а не отдельного объекта. Почему вы вообще используете запрос?

  2. Вам действительно нужен один объект или вам нужен список объектов?

  3. Что отправляет сервер? Откройте консоль разработки в браузере (ctr+alt+I в Chrome) и перейдите на вкладку «Сеть». Нажмите на запрос (../api/Home) и проверьте ответ сервера. Вы должны увидеть объекты или массивы json, отправленные сервером в ответ на ваш запрос.

person lisa p.    schedule 29.02.2016
comment
спасибо, что задали мне вопрос. этот вопрос был очень полезен для меня. я получил точный ответ. - person chaitanya; 29.02.2016