ホームページ  >  記事  >  ウェブフロントエンド  >  jqueryのAjax非同期呼び出しメソッドでグローバル変数に値を代入できない理由の簡単な分析とその解決策_jquery

jqueryのAjax非同期呼び出しメソッドでグローバル変数に値を代入できない理由の簡単な分析とその解決策_jquery

WBOY
WBOYオリジナル
2016-05-16 17:04:321125ブラウズ

jquery ajax メソッドを呼び出すとき、メソッドが値を返したり、グローバル変数に値を代入したりする必要がある場合がありますが、プログラムの実行後に必要な値が取得されないことがよくあります。 ajax の非同期呼び出し async:true (デフォルト) を使用しているため、次のようになります。

コードをコピー コードは次のとおりです。

function ManageCommentText(text) {
var result = text;
$.ajax({
data: "get",
url: "GetComments.aspx",
データ: "type=getText&commentText=" text,
キャッシュ: false,
async: false,
成功: function (data) {
result = data;
}
})
return result;

上記のメソッドは、データ値が取得されて結果に割り当てられた後でのみ、結果が返されて呼び出しが完了します。方法の。 async:true に設定すると、
はデータ値を取得する前に結果を返します。

もう 1 つの解決策は、成功メソッドにコードを直接記述することです。 (ビジネスによっては、すべてが直接成功につながるわけではありません)。

注: async: false に設定すると、ajax 非同期の利点が失われます。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。