查询:响应与配置的参数不匹配

时间:2016-02-29 11:55:47

标签: angularjs angular-resource

我收到回复错误请任何人尝试解决我的问题。我想解决这个问题,但我没有解决这个问题。请帮我。 提前谢谢

$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");

                        }
                     );
        };

1 个答案:

答案 0 :(得分:0)

错误消息显示:"包含对象但得到数组的预期响应"

这意味着:您的请求(Call.query)确实需要一个对象(您设置isArray:false)。但是服务器发送一个数组。所以服务器没有发送函数所期望的内容!

我想给你一些提示:

  1. 您为什么使用查询?查询通常用于从服务器获取数组,而不是单个对象。你为什么要使用查询?

  2. 您真的想要一个对象,还是想要一个对象列表?

  3. 服务器发送的是什么?在浏览器中打开开发控制台(ctr + alt + I在Chrome中),然后单击“网络”选项卡。单击请求(../api/Home)并检查服务器的响应。您应该看到服务器发送的json对象或数组作为对您的请求的响应。