2016-04-01 6 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

ありがとうございます。 OK私はvar nipayで試しましたが、エラーのために新しいデータが読み込まれないと古いデータが残っています。 – Bizzy

関連する問題