2016-04-01 2 views
1

У меня есть локальная переменная с функцией JQuery. Каждый раз, когда я запускаю функцию, переменная сохраняет данные из предыдущего прогона.Локальная переменная JQuery не будет сброшена

Я пробовал:

delete myVar; 
myVar = undefined; 

Оба в начале функции, но старые данные сохраняется. Что я делаю не так ?

$.get("http://api.lmiforall.org.uk/api/v1/ashe/estimatePay", 
{ soc: soc, coarse: "false", filters:"region:12"}, 
function(datani) { 
nipay=undefined; // clear variable data 
nipay = maxBy("year", datani.series).estpay ; // load data into variable 
if(nipay) { //check that variable contains data 
} 
else { 
    nipay="Not available"; // Message if no data 
} 
$("#graph-box1").html("<p><b>NI:</b> " + nipay + " GBP/week </p>") // display the result 

}); 
+1

Показать функцию. –

+1

, если вы можете показать свой код, мы сможем узнать об ошибке –

+0

Можете ли вы сделать myVar = '' или myVar = 0 согласно типу ваших данных? – Niraj

ответ

3

Ваша переменная не объявлена ​​в области видимости функции, потому что вы не нашли var декларацию. В этом случае он объявляется в глобальной области действия, и поэтому значение из предыдущего запуска сохраняется, поскольку переменная сохраняется в глобальной области.

var nipay = maxBy("year", datani.series).estpay; 
+0

Спасибо за это. ОК. Я просто попробовал это с помощью var nipay, но старые данные сохраняются, если новые данные не загружаются из-за какой-либо ошибки. – Bizzy

Смежные вопросы