如何获取js响应的angular度js中的数据(来自js中间件)

所以我正在手动创build令牌。 我想要做的是用户login后,令牌发送到JSON格式的angular度模块或其他一些格式无关紧要,然后我想保存在cookie中。

这里是来自节点js的一个简单的json响应代码

res.json({success : 1, token: "adhahashahd"}); 

请现在指导我如何获取这个angular度控制器,然后如何保存这个angular度的cookie。

谢谢。

这是编辑的部分家伙

这是我调用节点js路由的控制器代码

  $http.post('../userlogin', $scope.user).success(function(response) { console.log(response); 

这是整个过程完成后由nodejs做出的响应

 res.json({token : "asx"}); 

现在这是我从下面给出的答案跟随的cookie部分。

  $http.post('../userlogin', $scope.user).success(function(response) { console.log(response); $http.get('userlogin').success(function(data){ data=JSON.Parse(data); $cookie.put('token',data.token) }).error(function(error){ console.log(error) }) 

这个错误出现在前端部分,就像谷歌浏览器的开发者窗口中看到的一样

 GET http://localhost:1339/userlogin 404 (Not Found) 

向上投票你们所有人,谢谢你们。 一个问题,如果所有的答案都足够好,我可以接受多个答案。 因为你们都给出了正确的build议。

我真的很感激。 🙂

编辑没有2个人

当我只是这样做

 var z = response.token; console.log(z); $cookie.put('token', z); 

我能够得到我想要的,但现在错误与cookie有关。

它读取

 ReferenceError: $cookie is not defined at controller.js:35 at angular.js:9369 at angular.js:13189 at lc$get.l.$eval (angular.js:14401) at lc$get.l.$digest (angular.js:14217) at lc$get.l.$apply (angular.js:14506) at l (angular.js:9659) at P (angular.js:9849) at XMLHttpRequest.w.onload (angular.js:9790) 

获取数据是完成的,虽然不是你们build议的方法。 我在做什么是正确的或不常规? 请让我知道的理由,将有助于我更好地了解这个话题。

谢谢

上次修改

上面提到的cookie问题已经解决了,只是因为我忘记了使用商店字。

你们给我的代码,我没有任何反对,但事情只是为我工作。 这可能是错误的,因为我可能不了解的东西。

这就是为什么我要求你们进一步添加任何必要的东西。

感谢您的时间和帮助。

调用以angularjs发送此令牌的nodejs API

从angularjs调用nodejs API使用angular $http模块,并且如果您的节点API是RestAPI,那么使用$resource来更好地控制API调用。

例如:

 $http.get('apicall'); 

假设你有一个控制器设置,你只需要拨打$http电话。

$http.get(URL)将通过GET方法进行调用, $http.post(url)将使其成为POST。

之后,为了获得数据,你需要使用$ http返回的promise。我从来没有使用过$cookies服务,但是看起来很简单:

 $http.get(URL).success(function(data){ $cookie.put('token',data.token) }).error(function(error){ console.log(error) }) 

我强烈build议阅读AngularJS教程来了解更多关于$http服务,承诺以及如何处理它们的信息。

考虑你有一个API,它返回一个json序列化对象。

在Angular Controller中:

  $http.get("ur Api Url or path").then(function(data){ //data will hold json result // First parse the "data" variable like data=JSON.parse(data); // Then you can save it to cookie or use angularjs Value .... }).error(function(error){ ... }); 

首先,我要感谢所有帮助过我的人。

对于那些已经回答的人来说,我不会有任何不尊重的地方,我用不同的答案回答了这个问题。

这里是从服务器发送数据作为响应的格式,这也在上面提到的问题中给出。

 res.json({token : "asx"}); 

这是angularJS控制器的代码。

代码根据我的需求正常工作,它像一个魅力工作。

  var z = response.token; $cookieStore.put('token', z); var f = $cookieStore.get('token');