У меня есть локальная переменная внутри функции, вызванной событием click. Переменная различается в зависимости от того, какая кнопка нажата.Использовать локальную переменную javascript в ajax url
Я пытаюсь передать эту переменную другой функции, содержащей AJAX.
Я не могу использовать первую локальную переменную в функции ajax.
Я попытался использовать «window.myVariable», чтобы сделать его глобальным, но он не работает. Как вы можете видеть в коде, я также добавил вызов следующей функции с моей переменной как параметром, но без кубиков. Ошибка, которую я получаю в консоли, - это «переменный» пользователь »не определен».
Я не могу получить доступ к локальной переменной вне ее исходной функции вообще. Может ли кто-нибудь понять, почему он отказывается стать глобальной переменной ?.
function getStateOfChat(){
\t if(!instanse){
\t \t instanse = true;
\t \t $.ajax({
\t \t \t type: "POST",
url: user + "/process.php",
\t \t \t data: {
\t \t \t \t \t \t 'function': 'getState',
\t \t \t \t \t \t 'nickname': nickname,
\t \t \t \t \t \t 'file': file
\t \t \t \t \t \t },
\t \t \t dataType: "json",
\t \t \t
\t \t \t success: function(data){
\t \t \t \t state = data.state;
\t \t \t \t instanse = false;
\t \t \t },
\t \t \t });
\t } \t
}
var user1 = "john";
var user2 = "andrew";
// ============== USER 1 ==============
<button type="button" class="btn btn-info btn-lg chatBtnMain" data-toggle="modal" data-target="#myModal2" id="chatBtn1">
Chat to
<span class='nickname'>
John
</span>
</button>
<script type="text/javascript">
document.getElementById('chatBtn1').addEventListener('click', runScript1);
function runScript1() {
var user = user1;
getStateOfChat(user);
}
</script>
// ============== USER 2 ==============
<button type="button" class="btn btn-info btn-lg chatBtnMain" data-toggle="modal" data-target="#myModal3" id="chatBtn2">
Chat to
<span class='nickname'>
Andrew
</span>
</button>
<script type="text/javascript">
document.getElementById('chatBtn2').addEventListener('click', runScript2);
function runScript2() {
var user = user2;
getStateOfChat(user);
}
</script>
просто добавьте параметр user 'function getStateOfChat (user) {...}' – jcubic
^Если при прохождении параметра также возникает ошибка 'undefined', это означает, что значение, которое вы назначаете' user', то есть 'user1', 'undefined'. –
^добавляя к этому пункту, вы назначили 'var user1 =" john ";' в html за пределами блоков кода javascript – anu