[英]Call a function on ajax success call back
下面是我的腳本
function allresultscount(thisurl) {
$.ajax({
type: "GET",
dataType: "xml",
url: thisurl,
success: function(data) {
if ($(data).find('atom\\:entry, entry').length !== 0) {
$(data).find('atom\\:entry, entry').each(function() {
countall++;
});
}
$("#resultscount").text(countall);
var pagecount = countall / 2;
for (var i = 1; i <= pagecount; i++) {
$('<a class="page_link" onclick="formurl(' + i + ')" longdesc="0" style="display: inline-block;">' + i + '</a>').insertBefore('.next_link');
}
}
});
}
function formurl(i) {
alert(i);
}
這里我試圖在 ajax 成功回調中調用函數 formurl()。 這兩個功能都已准備就緒。
但是我收到了 formurl() 未定義的錯誤。 我怎么能這樣做?
您可以,但必須在 ready() 方法的范圍內調用它們,否則當 ready() 方法退出時它們將失去作用域。
例如,下面的代碼將起作用:
$(document).ready(function(){
function formurl()
{
alert('Bar');
}
formurl(); // still in the scope of the ready method
});
ajax 完成后,您的新元素將在 DOM 中呈現。 現在您在 ready() 事件之外。 在您的情況下,您可以在 ready() 事件之外定義您的函數
function formurl()
{
alert('Bar');
}
$(document).ready(function(){
// fire ajax here
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.