我對Angular有些不滿意,並且在嘗試發佈到Drupal服務端點時遇到問題。我可以用HttpRequester(FFox插件)發佈,但是我所有使用Angular發佈數據以獲得會話的嘗試都會導致401 Unauthorized:缺少必需的參數用戶名或其他錯誤。
這裏是我的測試工廠資源與默認輸入:
userInfoApp.factory('LoginService', function($resource) {
return $resource('/auth-service/user/login', {username: 'admin', password: 'admin'}, {
update: {
method: 'POST', // this method issues a POST request
headers:{'Content-Type':'application/x-www-form-urlencoded; charset=UTF-8'}
}
});
});
這裏是我正在給它的控制器內部通話(這樣):
this.login = function() {
var login = LoginService.update(function(data) {
console.log(data);
});
};
到目前爲止,這通常會導致像這樣生成的查詢字符串:
http://project.loc/auth-service/user/login?password=admin&username=admin
和響應:
401未經授權:缺少必需的參數的用戶名
什麼可能我做錯了嗎?我已經獲得了$ resource來與其他端點一起工作(比如菜單服務來檢索菜單),但發佈似乎更加挑剔。任何建議,將不勝感激。
感謝
你的$資源配置似乎是使用POST方法..你的URL有查詢字符串?你能檢查你的Drupal服務端點是否可以得到這些參數嗎?我相信你的Drupal服務調試不會得到參數! –
沒有服務不能獲得參數。事實上,我不希望它。我希望POST能夠真正發佈。登錄不應該發生在查詢字符串上。 –