首頁 > web前端 > js教程 > 主體

淺析jquery ajax非同步呼叫方法中無法給全域變數賦值的原因及解決方法_jquery

WBOY
發布: 2016-05-16 17:04:32
原創
1130 人瀏覽過

在呼叫一個jquery的ajax方法時我們有時會需要該方法回傳一個值或給某個全域變數賦值,可是我們發現程式執行完後並沒有取得到我們想要的值,這時很有可能是因為你用的是ajax的非同步呼叫async:true(預設情況),如:

複製程式碼 程式碼如下:

function ManageCommentText(text) {
var result = text;
$.ajax({
data: "get",
url: "GetComments.aspx"
data: "type=getText&commentText=" text,
cache: false,
async: false,
success: function (data) {
result = data;
}
}
}
}
}
}
}}

}

}

}}}

}}}}})return result;以上方法是ajax的同步調用,只有在獲取到了data值並賦值給result以後才會返回result完成該方法的調用。若設為async:true,則會未等到取得data值就已經回傳了result。 另一個解決方法就是將你的程式碼直接寫到success方法裡。 (根據你的業務並不是所有的都可以直接寫到success裡的)。 注意:如果設定為 async: false,就失去 ajax異步的優點了哦。
相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板