簡體   English   中英

多次啟動自定義JS函數?

[英]Fire custom JS function more than once?

我的問題是,當我嘗試在一個頁面上多次觸發SocialAPI(...)時,它將僅觸發第一個事件,而不會完成其他請求。 我不明白這是怎么回事-我對這門語言的學習還比較陌生,我有點被困在這里。

我已經嘗試過測試自己使用的每個呼叫,並且每個呼叫都能正常工作,它似乎只返回一個而忽略其他請求。

該函數訪問在我的服務器上運行的API,以訪問多個社交媒體API(不確定是否相關)。

我已經檢查了日志,它們在代碼中沒有錯誤。

感謝您的任何幫助。

例如

index.html(某些頁面)

<div id="div1"></div>
<div id="div2"></div>
<div id="div3"></div>

<script>
    $(document).ready(function() {
        SocialAPI("div1", "twitter", "uid");
        SocialAPI("div2", "facebook", "uid");
        SocialAPI("div3", "instagram", "uid");
    });
</script>

SocialAPI()函數縮短

function SocialAPI(target, platform, uid, mode) {
    if(!target) {target="";} else { target = "#" + target}
    if(!platform) {platform="";}
    ...so on for each...

    var APIBase = "https://api.domain.com/?platform=" + platform + "&uid=" + uid + "&mode=" + mode;

    if(platform == "instagram") {
    $.ajax({
      url: APIBase,
      dataType: "json",
      success: function(r) {
          $(target).html(r.data.counts.followed_by);
      }
        });
    } else if(platform == "twitter") {
    ...so on for diff platforms...
    }
  } else {
    return false;
  }
}

嘗試

function loadSocial(){
    SocialAPI("div1", "twitter", "uid");
    SocialAPI("div2", "facebook", "uid");
    SocialAPI("div3", "instagram", "uid");
}

然后更新:

$(document).ready(function() {
    loadSocial();
});

點擊Enter太早了,將以下內容添加到SocialAPI函數的第一行:

console.log("Platform", platform);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

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