jQuery: чтение переменной из внешнего файла Javascript
Я застрял. Я действительно не знаю, что я делаю неправильно, но я не могу вернуть строку в переменную во встроенном Javascript.
token.js:
function token () {
return "mysecretstring";
}
HTML-код:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>TXTURE Server Status</title>
<script src="http://code.jquery.com/jquery-1.12.4.min.js" type="text/javascript"></script>
<script type="text/javascript">
token_val="";
$.getScript('./token.js', function(data) {
token_val = token();
console.log("function: " + token_val);
});
</script>
</head>
<body>
</body>
</html>
Я могу делать все, что захочу, token_val остается пустым. Любые намеки приветствуются.
С наилучшими пожеланиями, Томас
4 ответа
Я не использую этот способ для ссылки на функцию JS. Я просто загружаю библиотеку js так же, как вы загружаете jquery-1.12.4.min.js, а затем вызываю функцию token() из скрипта. Код выглядит так:
<script src="path_to_project/tokens.js" type="text/javascript"></script>
<script type="text/javascript">
token_val = token();
console.log("function: " + token_val);
</script>
Не могли бы вы попробовать изменить URL-аргумент с "./token.js" на "/token.js"?
Просто не используйте свой JQuery $.getScript()
, но включите скрипт, который содержит token()
функция с
<script type="text/javascript" src="/pathToScript">
И использовать функцию
Я немного изменил код, чтобы не путать слишком много токенов. Где-то посередине я получил ошибку "Неожиданная ошибка токена", которая вводит в заблуждение при использовании функции с тем же именем.:)
Во всяком случае, теперь этот код работает. Javascript:
function myaccesstoken() {
return "mysecrectstring";
}
HTML:
<script src="token.js" type="text/javascript"></script>
<script type="text/javascript">
let token_val = myaccesstoken();
</script>
Это просто, но иногда вы смотрите на стены, не видя окон слева от вас... в любом случае, спасибо.
С уважением, Томас