2017-07-25 6 views
0

jqueryでグローバル変数を作成しました。次に私はjqueryを呼び出して応答変数varをグローバル変数に設定する関数を作成しました。そのグローバル変数にconsole.logを実行しているとき、常に空白を表示しています。私がしたコードはグローバル変数が常にjqueryで空白を表示しています

var currentname = ""; 
function getcurrentname() { 
    $.get(
     url 
    ).success(function(response) { 
     response = JSON.parse(response); 
     currentname = response.name; 
    }); 
} 
getcurrentname(); 
console.log(currentname); 

です。だから私はその変数をグローバルに使うべきですか?

+0

'に.get()で偽の' 'ので、あなたのconsole.log'は.'get()'が終了する前に実行される非同期です。 'console.log'を成功関数に移動します。 – j08691

+0

そのグローバル変数はどのように使用できるでしょうか。 –

+0

実際には、JavaScriptでグローバル変数を作成しました。すでにグローバルに使用しています。あなたのコードで唯一のjQueryの使用は、成功したとき(ヒント)に変数に値を代入する '非同期'呼び出しを行うことです。 – chazsolo

答えて

0

あなたは非同期使用する必要があります。AJAXリクエスト

+0

です。 –

+1

いいえ、非同期を処理するコードをリファクタリングするべきではありません。 –

+0

あなたは、このコード$アヤックスを使用することができます({ URL:URL、 非同期:偽、 完全:機能(応答){ 応答= JSON.parse(レスポンス); currentname = response.name;} } ); –

関連する問題