Я использую 2 разных html, и оба используют один и тот же файл Javascript.
Файл Javascript делает это
var problem;
function login() {
const login = document.getElementById('login');
const nome = document.getElementById('lnome');
const pass = document.getElementById('lpass');
const item = {
Username: nome.value.trim(),
Password: pass.value.trim()
};
fetch(uri, {
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json'
},
body: JSON.stringify(item)
})
.then(response => response.json())
.then((res) => {
problem = res; //HERE need to put into the 'problem' the value of the res
window.location.href = url_1; // This calls index_2.html
})
.catch(error => console.error('Unable to Login.', error));
}
Приведенный выше код используется в index_1.html.
$(function () {
var $users_A = $('#users_A');
$.ajax({
url: uri_1,
type: 'GET',
dataType: 'json',
beforeSend: function (request) {
request.setRequestHeader("Authorization", 'Bearer ' + problem);
},
success: function (data) {
$users_A.append('<h4>PROBLEM RESOLVED</h4>');
},
error: function (xhr, textStatus, errorThrown) {
console.info('Error in Operation');
$users_A.append('<h4>DON'T WORK</h4>');
}
});
});
Приведенный выше код используется в index_2.html.
Когда я запускаю программу, проблема с переменной не содержит информации в «res», поэтому она становится неопределенной, как мне решить эту проблему?
Любой ответ приветствуется
Что-то вроде этого, в функции выборки дайте «толчок» переменной «проблема», а в ajax получите «вытягивание» переменной «проблема»



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Глобальная переменная является глобальной только для текущей загруженной страницы, которая ее использует. Он не является глобальным для всех страниц, которые могут повторно использовать один и тот же код. Если вам нужно, чтобы данные были доступны для всех страниц для одного пользователя, сохраните данные в localStorage. Если вам нужно, чтобы данные были доступны всем пользователям на всех страницах, вам нужно хранить данные на сервере.
Это один пользователь, но моя проблема заключается в использовании переменных, поэтому в этом случае мне нужно сделать что-то вроде [ localStorage.setItem(problem, res); ] в функции выборки, поэтому, когда я вызываю метод ajax, о котором я сказал в index2.html, проблема с переменной получает разрешение, верно???
@ХосеКарлос Да. На одной странице вы можете установить значение localStorage, а затем выбрать это значение (или даже изменить его) на любой другой странице.
Вы спрашиваете, как сохранить данные при загрузке двух отдельных страниц в JavaScript? По сути, вам нужно место для сохранения этих данных. Если вы хотите сохранить его в браузере,
localStorageили файл cookie являются разумными подходами. Если вы хотите сохранить его на сервере, вы можете сделать запрос AJAX на сервер, чтобы сохранить эти данные.