我如何在 angularjs 中使用 Restful。我使用了 ngResource 但它不起作用。如果我使用 ngResource,js 文件 nt 正在执行

Posted

技术标签:

【中文标题】我如何在 angularjs 中使用 Restful。我使用了 ngResource 但它不起作用。如果我使用 ngResource,js 文件 nt 正在执行【英文标题】:How can i use Restful in angularjs.I used ngResource but its not working .The js file nt executing if i used ngResource 【发布时间】:2014-07-23 17:10:51 【问题描述】:
var app = angular.module('app', ['ngResource']);
app.factory('UserFactory', function ($resource) 

     return $resource('/com/vsoft/rest/users', , 
         query: 
             method: 'GET',
             params: ,
             isArray: false
         
     );
 );
app.controller('MyCtrl1', ['$scope', 'UserFactory', function ($scope, UserFactory) 
     UserFactory.get(, function (userFactory) 
         $scope.firstname = userFactory.firstName;
         $scope.lastname = userFactory.lastName;
         );
     );
 ]);

我在我的 html 中添加了上面的应用程序。但是应用程序和 angular-resource.js 但我的 app.js 没有执行。

如果我删除了 ngResource 模块并且 $resource 警报即将到来。但是如果我使用 ngResource 我不会收到警报。

请帮忙。如果有人知道任何使用 angularjs 使用 Restful 服务的好例子。请发送 Url 或代码。

请帮帮我。

我打电话给名字 在我的 html 中,但它没有出现。

【问题讨论】:

你是否包含了 angular-resource.js 文件?这篇博文很好地解释了以角度 blog.brunoscopelliti.com/… 使用 REST 服务 如果添加ngResource时JS没有执行,很可能是您没有添加资源JS文件:http://ajax.googleapis.com/ajax/libs/angularjs/1.2.17/angular-resource.min.js 【参考方案1】:

我使用服务来处理 RESTful 消息

app.service('restService', function ($http, $log) 
    'use strict';

    var self = this;
    var BASE_URL = "base/url/";
    //First way how to do it
    self.httpGet = function (url) 
        $log.info("HTTP Get", url);

        return postProcess($http(method: 'GET', url: BASE_URL + url));
    ;

    //Second way how to do it
    self.httpPut = function (url, object) 
        $log.info("HTTP Put", url);
        return postProcess($http.put(BASE_URL + url, object));
    ;

    self.httpPost = function (url, object) 
        $log.info("HTTP Post", url);
        return postProcess($http.post(BASE_URL + url, object));
    ;

    self.httpDelete = function (url) 
        $log.info("HTTP Delete", url);
        return postProcess($http.delete(BASE_URL + url));
    ;

    function postProcess(httpPromise) 
        return httpPromise.then(function (response) 
            if (response.status === 200) 
                return response;
            
            //Other than 200 is not ok (this is application specific)
            failure(response);
        , function (response) 
            failure(response);
        );
    

    /**
     * Promise for failure HTTP codes
     * @param response the HTTP response
     */
    function failure(response) 
        //Error handling
    
);

可用作

    restService.httpGet("categories").then(function (response) 
        categoryData = angular.fromJson(response.data);
        //Broadcast an event to tell that the data is ready to be used
        $rootScope.$broadcast("categoriesReady");
    );

【讨论】:

以上是关于我如何在 angularjs 中使用 Restful。我使用了 ngResource 但它不起作用。如果我使用 ngResource,js 文件 nt 正在执行的主要内容,如果未能解决你的问题,请参考以下文章

如何在 AngularJS 中使用 HTTPS?

如何在 AngularJS 中收听 jQuery 事件

如何在 AngularJS 部分文件中使用 php (wordpress) 函数?

AngularJS:如何解决“尝试在安全上下文中使用不安全值”?

如何在 AngularJS 中使用图像作为背景?

如何在 ngClass 中使用 AngularJS 过滤器?