2016-03-03 58 views
-1

嗨,在我的要求中,我尝试使用ngresource编写post方法,但现在我想将其更改为get方法。任何人都可以帮助我解决这个问题。我是新来angularjs预先感谢如何使用ng资源编写get方法

$scope.clickresult = {}; 
     var Call = $resource('../api/Home', {}, { query: { method: 'POST', isArray: true} }); 
     $scope.click = function() { 
      //alert("hi");    
      $scope.selected = ""; 
      var x = $('#txtSearch').val(); 
      var _ReqObj = new Object(); 
      _ReqObj.id = x; 
      _ReqObj.Meth = "CD"; 
      // alert(x); 
      Call.query({}, _ReqObj, 
         function (response) { 
          if (response == '') { 
           // alert('no data'); 
           window.location.replace("#/"); 
          } 
          else { 
           //alert("daata"); 
           $scope.message = response; 
          } 
         }, 
            function (error) { 
             window.location.replace("#/"); 

            } 
           ); 
     }; 
+0

你连续三次问这个问题。请关闭其中两个问题,只留下一个问题。 –

+0

因为那个问题很重要 – chaitanya

+0

我明白你想要一个答案。请在尝试阅读文档之前先仔细阅读以下内容:https://docs.angularjs.org/api/ngResource/service/$resource –

回答

0

这是一些初步的帮助,所以你可以解决你自己的未来问题。

1.使用开发工具看到错误,请求和响应:从菜单或使用CMD https://developers.google.com/web/tools/chrome-devtools/

打开工具+ ALT +我在Mac或CTRL + SHIFT +我在Windows上。

在开发人员工具的“网络”选项卡中,您可以看到与服务器的通信(例如request method = GET,来自服务器的响应)。在“预览”标签中,您可以看到服务器发送给您的json。告诉我你是否遇到问题,因为在代码中发现错误非常重要。

2.使用日志记录!

在angular中,您可以将$ log添加到您的代码中,并使用$ log.log(“message”,object)可以输出调试消息以及代码中对象的当前状态。您可以在“控制台”选项卡中查看开发人员工具中的日志消息。

3.阅读文档

角提供了它们的功能的文档和例子。阅读关于$ resource服务的资料https://docs.angularjs.org/api/ngResource/service/ $ resource

阅读GET和POST方法之间的区别。

4.从教程尝试一个简单的例子并尝试将其从互联网上适应您的需求

复制一个简单的资源例子,使其发挥作用。如果这件作品一步一步改变它,直到它是你需要的。

5.对于示例

请问你的服务器端脚本的工作?在你的问题中,我只能看到角码。如果你想使用GET方法,服务器必须提供一个对GET起作用的函数。

的$资源服务已经提供了查询方法:

{ 'get': {method:'GET'}, 
    'save': {method:'POST'}, 
    'query': {method:'GET', isArray:true}, 
    'remove': {method:'DELETE'}, 
    'delete': {method:'DELETE'} }; 

通常情况下,你不需要添加 “{查询:{方法: 'POST',IsArray的:真正}” 到你的代码。查询功能已经存在!

要你只需要查询功能发送GET请求:

var Call = $resource('../api/Home', {}); 

现在打开你的开发人员工具,进入网络选项卡,然后在您的网站上执行的函数$ scope.click。你在网络标签中看到了什么?该请求应该用“请求方法:GET”来触发。服务器的答案是什么?问题可能不在于你的角码,而是在你的服务器代码中。

试试这些东西,告诉我你是否需要更多的帮助。

+0

嘿,你解决了你的问题吗? –

+0

没有。我的web api是主要问题。所以现在我正在改变我的网页API – chaitanya