2016-02-29 60 views
0

我得到响应错误请任何一个试图解决我的问题。我正试图解决这个问题,但我没有解决这个问题。请帮帮我。 由于事先查询:响应不匹配,配置参数

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

         } 
        ); 
     }; 
+0

你检查这个环节? https://docs.angularjs.org/error/$resource/badcfg?p0=query&p1=object&p2=array&p3=POST&p4=..Fapi%2FHome –

+0

你能否改变问题的标题?错误链接不起作用。你能点击浏览器中你的开发控制台中的错误链接,然后从角度页面复制文本吗? :) –

回答

0

错误消息说:“预期的响应,以包含对象,但有一个数组”

这意味着:您的要求(Call.query)不会指望一个单一的对象(也就是你设置isArray:false)。但服务器发送一个数组。所以服务器不会发送这个函数期望的东西!

有一些提示,我想给你:

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

  2. 你真的想单个对象或你想要的对象的列表?

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

+0

感谢问我问题。这个问题对我很有帮助。我得到了确切的回应。 – chaitanya