Angular.js:如何使用$ http作为请求模块node.js

时间:2014-09-10 10:22:26

标签: node.js angularjs http request

在使用Angular.js的$ http之前,我正在测试网站对来自node.js的请求模块的请求的反应。 我的目标是使用POST请求登录网站,进行cookie会话,然后使用此cookie在其标题中下载我想要的所有页面。

使用Node.js,它看起来像这样:

request.post({url: myUrl/login.php, form:{login:'login', password:'password'}}, function(err, resp, body){
                var cookies = parseCookies(resp) //function that takes all the cookies 

                request({url: myUrl/portail, headers{cookie: cookies}}, function(err, resp, body){console.log('recu')})
            })

对post请求的响应实际上是使用' set-cookie'重定向到myUrl / portail。在标题中

我想使用Angular.js在我的应用程序中执行此操作,所以我这样做了:

$http({
    method: 'POST',
    url: myUrl/login.php,
    data: $.param({login: $scope.loginData.login, password: $scope.loginData.password}),
    headers: {'Content-Type': 'application/x-www-form-urlencoded'}
})
.success(function(data, status, headers) {
    var cookies = parseCookieAngularVersion(headers)
    $http({
      method:'GET',
      url: myUrl/portail,
      headers:{cookie:cookies}
    })
    .success(function(data, status, headers){
      console.log(headers())
    })
    .error(function(){
      console.log('ERRRROR')
    })
})
.error(function(data, status, headers, config) {
  console.log('ERRROR');
})

但它不起作用......标题不包含任何cookie,服务器会不断向我发送登录页面。问题必须是因为AngularJs是一个客户端应用程序。 有人可以帮助我吗?我会非常棒的。提前致谢

0 个答案:

没有答案