Итак, у меня возникли проблемы с получением VAR-функции в глобальной функции, я пробовал следующие ресурсы:
Какова область видимости переменных в JavaScript?
Мой предыдущий вопрос был помечен как дубликат, но после просмотра ссылки выше он не помог с моей проблемой.
Вот мой предыдущий вопрос:
Поэтому я использую OpenTok для создания онлайн-инструмента для конференций, и мне нужно получить информацию о сеансе из API на другом сервере. Я создал скрипт php на другом сервере, который получает информацию о сеансе на основе идентификатора сеанса, предоставленного параметром URL. Я знаю, что скрипт php и большая часть JavaScript работают правильно, потому что, когда я пытаюсь получить данные console.log из проанализированного JSON, он выводит правильную информацию. Однако, когда я пытаюсь поместить переменные в область учетных данных, я получаю следующую ошибку:
ReferenceError: thesession is not defined
Вот код, используемый для получения JSON из сценария PHP на отдельном сервере:
var url_string = window.location.href;
var url = new URL(url_string);
var session = url.searchParams.get("s");
if (session == '') {
window.location.replace("http://www.google.com");
}
var getJSON = function(url, callback) {
var xhr = new XMLHttpRequest();
xhr.open('GET', url, true);
xhr.responseType = 'json';
xhr.onload = function() {
var status = xhr.status;
if (status === 200) {
callback(null, xhr.response);
} else {
callback(status, xhr.response);
}
};
xhr.send();
};
getJSON('http://192.168.64.2/api/meeting/?uid=' + session,
function(err, data) {
if (err !== null) {
console.log('Error');
}
var thesession = data.sessionID;
var thetoken = data.token;
console.log(thesession);
console.log(thetoken);
});
let otCore;
const options = {
credentials: {
apiKey: "####",
sessionId: thesession,
token: thetoken
},
А вот скриншот консоли:
Верхний журнал консоли - "thisssion" иВторой консольный журнал - "токен". Я попытался найти ошибку, но не могу найти такую же, как у меня.
Желаемым результатом было бы то, что я мог бы использовать данные из проанализированного JSON и использовать результат в качестве учетных данных, напримерdata.sessionID, который связан с этой VAR-версией.
Я знаю, что это может быть проблемой области действия, но я не уверен, как я мог бы изменить код, чтобы заставить его работать как задумано.
Любая помощь будет высоко ценится, эта действительно поставила меня в тупик:)
Как бы я изменил область видимости, чтобы получить желаемую функцию? Я просмотрел ссылку, которая была дана на предыдущий вопрос, но это не помогло мне с моей проблемой.