У меня есть приведенный ниже код на стороне клиента, при событии щелчка. Он отправляет запрос на серверный узел для получения токена, затем, когда токен возвращается из внешнего URL-ответа.Он передает этот токен на второй вызов ajax для вызова определенного маршрута API.
Все это прекрасно работает, но я хочу выйти из токена после получения ответа от определенного маршрута API (с использованием токена).Так что после ответа у меня не останется токен.
Что может быть хорошим способом для этого?Мое текущее решение - когда дается ответ для определенного маршрута API, отправьте запрос на выборку в / tokenrequest / logout, чтобы выйти из токена.Но не уверен, что это правильный или хороший способ сделать это.
getdata.addEventListener("click", function(e) { //simple button click to initiate api
e.preventDefault();
$.ajax({
method: "GET",
url: "/jdeapi",
error: function(request, status, error) {
console.log(error);
}
}).then(function(data) {
console.log(JSON.parse(data));
let rawData = JSON.parse(data);
var token = rawData.userInfo.token;
$.ajax({
method: "POST",
url: "/sendtojde",
data: {
token
}
}).then(function(data) {
console.log(data);
})
})
})
Код стороны сервера узла для запроса токена следующий:
router.get('/jdeapi', function(req, res) {
let url = 'https://Aisserver:port/jderest/tokenrequest';
let data = {
username: 'username',
password: 'password',
deviceName: 'riolivApp'
}
fetch(url, {
credential: 'include',
method: 'POST',
body: JSON.stringify(data),
headers: {
'Content-Type': 'application/json'
}
}).then(response => response.text())
.then(text => res.json(text));
})
Затем, после 2-го ajax-вызова на стороне клиента, вызов на стороне сервера для получения конкретного API выглядит следующим образом
router.post('/sendtojde', function(req, res) {
console.log(req.body.token);
let url = "https://Aisserver:port/jderest/poservice"
let data = {
token: req.body.token,
deviceName: 'riolivApp',
applicationName: "P4310",
version: "RMI0001"
}
fetch(url, {
credential: 'include',
method: 'POST',
body: JSON.stringify(data),
headers: {
'Content-Type': 'application/json'
}
}).then(response => response.text())
.then(text =>
res.json(text));
})