在使用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是一个客户端应用程序。 有人可以帮助我吗?我会非常棒的。提前致谢