如何使用ng资源编写get方法

时间:2016-03-03 09:33:52

标签: angularjs

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

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

                                    }
                                 );
        };

1 个答案:

答案 0 :(得分:0)

以下是一些初步帮助,以便您可以自行解决未来的问题。

<强> 1。使用开发人员工具查看错误,请求和回复:https://developers.google.com/web/tools/chrome-devtools/

从菜单中打开工具或在Mac上使用cmd + alt + I或在Windows上使用ctrl + shift + I.

在开发人员工具的“网络”选项卡中,您可以看到与服务器的通信(例如,请求方法= GET,来自服务器的响应)。在“预览”选项卡中,您可以看到服务器发送给您的json。如果您在查找时遇到问题,请告诉我,因为在您的代码中找到错误非常重要。

<强> 2。使用日志记录!

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

第3。阅读文档

Angular提供了其功能的文档和示例。阅读有关$ resource service https://docs.angularjs.org/api/ngResource/service/ $ resource

的信息

了解GET和POST方法之间的区别。

<强> 4。从教程中尝试一个简单的示例,并尝试根据您的需求进行调整

从互联网复制一个简单的资源示例并使其正常工作。如果可行的话,一步一步地改变它,直到它成为你需要的东西。

<强> 5。例如:

您的服务器端脚本如何工作?在你的问题中,我只能看到角度代码。如果要使用GET方法,服务器必须提供对GET做出反应的函数。

$ resource服务已经提供了一种查询方法:

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

通常,您不需要在代码中添加“{query:{method:'POST',isArray:true}”。查询功能已经存在!

使用您只需要的查询功能发送GET请求:

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

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

试试这些事情并告诉我你是否需要更多帮助。