2013-01-24 48 views
0

我正在與Angular工廠合作,嘗試進行web服務調用,但看起來好像不能識別$資源。

.factory('User', function($resource) { 
function login() { 
    // THIS IS NOT WORKING, how do I make a webservice call from here? 
    $resource('/api/user.json', {}, { 

     method: 'POST', 
     isArray: false 

    }); 

    return true; 
} 

function logout() { 
    return false; 
} 

return { 
    login : function() { return login(); }, 
    logout: function() { return logout(); } 
}; 

感謝,
三通

+0

什麼是你的錯誤信息,$資源不包含在主腳本需要導入的角資源腳本:angular-resource.js – mpm

+0

嗨@mpm,是的,我有angular-resource.js導入。 $資源的作品。但由於我在工廠內部有一個函數,我認爲範圍已經搞亂了,我不知道如何讓這個登錄函數能夠訪問$ resource – teepusink

+0

,那麼你應該改正你的問題,因爲我沒有看到任何地方的查詢在你的腳本中。此外$資源返回一個資源對象,你需要實際使用返回的對象來觸發一個請求。 – mpm

回答

2

我假設你有地方資源模塊文件:

https://raw.github.com/angular/angular.js/master/src/ngResource/resource.js

需要導入適當的模塊在你的應用程序:

var App = angular.module("App",["ngResource"]); 

然後在「理智」的方式使用它:

var User = App.factory("User",function($resource){ 
    var User = $resource('/api/user.json',{},{ 
     login:{method:"POST",isArray:true}, 
     logout:{method:"POST"} 
    }); 
    return User; 
    // use User in your controller or another service. 
}); 

的文檔是在這裏:http://docs.angularjs.org/api/ngResource $資源