Вы не можете напрямую получить доступ к локальному хранилищу как localStorage.id
Прочитать руководство и исправить Ваш код:
var _url2 = "http://169.254.10.10:8080/api/v0/sessions/" + localStorage.getItem('id') + "/operations/start"
, так как Вы используете поведение Обещайте, где может возникнуть состояние гонки, убедитесь, что вы запускаете операции после успешного получения сеанса.
, где я не вижу логической причины использования локального хранилища при запуске операции:
function startSession() {
var _url = "http://169.254.10.10:8080/api/v0/sessions"
var request = $.ajax({
"url": _url,
"method": "GET",
"timeout": 0,
"headers": {
"Content-Type": "application/json"
},
});
request.then(function (response) {
/*
[
{apiGatewayVersion: "1.24", activeTime: "0", id: 75 },
{apiGatewayVersion: "1.24", activeTime: "0", id: 76 },
{apiGatewayVersion: "1.24", activeTime: "0", id: 77 },
{apiGatewayVersion: "1.24", activeTime: "0", id: 78 }
]
*/
// Your session list is sorted by id order,
// and last session is last object in array
// it's enough to get last object from response array
var lastSession = (Array.isArray(response) && response.length)
? response[response.length-1]
: {id: 0};
localStorage.setItem('id', lastSession.id);
var _url2 = "http://169.254.10.10:8080/api/v0/sessions/" + localStorage.getItem('id') + "/operations/start";
// or simply:
// var _url2 = "http://169.254.10.10:8080/api/v0/sessions/" + lastSession.id + "/operations/start";
$.ajax({
"url": _url2,
"method": "POST",
"timeout": 0,
"headers": {
"Content-Type": "application/json"
},
}).then(function(response) {
console.log(response);
});
alert("Session Starting, Please wait...")
});
}
PS In случай, если ответом является объект вместо массива:
/*
{
0: {apiGatewayVersion: "1.24", activeTime: "0", id: 75 },
1: {apiGatewayVersion: "1.24", activeTime: "0", id: 76 },
2: {apiGatewayVersion: "1.24", activeTime: "0", id: 77 },
3: {apiGatewayVersion: "1.24", activeTime: "0", id: 78 }
}
*/
response = Object.values(response); // add this
var lastSession = (Array.isArray(response) && response.length)
? response[response.length-1]
: {id: 0};