如何获取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');