簡體   English   中英

調用ajax成功回調函數

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM