2017-06-16 48 views
0
var http = require('https'); 
var qs = require('querystring'); 
var request = require('request'); 

var appid = appid 
var Oauth = Oauth 
var Authorization = 'Basic' + ' '+ new Buffer(appid + ':' + 
Oauth).toString('base64'); 
var url = "https://example.com" 

var options = { 
host: url, 
headers:{'Authorization' : Authorization, 
"Content-Type": "application/json"} 
}; 

request.post({ 
url:url, 
headers:{'Authorization' : Authorization, 
"Content-Type": "application/json"} 
}, 
function(request, response){ 
console.log(response) 
var body = JSON.parse(response["body"]) 
var token = body["access_token"] 
//console.log(token) 
return token 

}); 

我希望能够全局访问令牌。例如,我希望能够在下面的行中打印它。如何全局保存来自POST请求的响应

console.log(token) 

但是,我弄不明白。我如何在全球范围内保存令牌?

注意:在前面的步骤中,我确实收到了正确的标记。

回答

0

如果你想将其保存在客户现场使用浏览器的sessionStorage()或localStorage的(),也可以存储它的服务器端这要看怎样利用

0

全球声明令牌变量,定义或分配值令牌POST请求中的变量。然后在全球范围内访问它。

下面的代码片段:

var http = require('https'); 
var qs = require('querystring'); 
var request = require('request'); 
var token; 
request.post({ 
    url:url, 
    headers:{'Authorization' : Authorization, 
    "Content-Type": "application/json"} 
}, 
function(request, response){ 
    console.log(response) 
    var body = JSON.parse(response["body"]) 
    token = body["access_token"]; 
}); 
+0

我仍然有同样的错误 - 打印“未定义”当我打印后全球是“令牌”。 –