У меня есть глобальная переменная с именем calculated_price
, которая содержит цену выбранного продукта. Изменить значение этой глобальной переменной с функцией, а затем с помощью другой функции я представить его на сервер с запросом AJAX сообщение:Javascript не может получить доступ к глобальной переменной
var calculated_price;
function calculatePrice() {
calculated_price = $$('.myInput').val();
$$('.price-holder').text(calculated_price);
}
function submitOrder(calculated_price) {
if(calculated_price !== null || calculated_price !== '') {
$$.post('http://www.example.com/payment.php', { price: calculated_price},
function(data) {
alert('Data: ' + data);
});
}
}
Я использую Framework7, поэтому рамки JS я использую Dom7 , однако это очень похоже на jQuery и функцию $$. post, с которой я все время работаю. Он просто не может получить доступ к calculated_price variable
. Я не обновлял эту переменную где-либо в своем коде (нигде я не поставил перед ним var
, кроме тех случаев, когда он объявлен глобально). Любая идея, почему эта переменная теряется до последней функции (submitOrder)? Я знаю, что переменная существует и имеет значение, потому что в функции calculatePrice
я ставлю расчетную цену внутри элемента HTML, и она правильно показывает цену.
Для чего у вас нет доступа? Вы получили сообщение об ошибке? Какая строка выдает ошибку? И т. Д. – Utkanos
У вас проблема с 'if (calculate_price! == null || calculate_price! == '')': это должно быть 'if (calculate_price! == null && calculate_price! == '')' –
@Utkanos Нет ошибки, иначе я ее уже исправил. Он просто ничего не возвращает. Я предупреждаю calc_price внутри функции submitOrder, и он просто полностью пуст. Нет ошибки или чего-то еще. –