問題描述

我正在創建一個帶有 Action 列的循環的 HTML 。該列是超鏈接,當用户單擊調用 JavaScript 函數並傳遞參數時…

例:

<a href="#" OnClick="DoAction(1,'Jose');" > Click </a>
<a href="#" OnClick="DoAction(2,'Juan');" > Click </a>
<a href="#" OnClick="DoAction(3,'Pedro');" > Click </a>
...
<a href="#" OnClick="DoAction(n,'xxx');" > Click </a>

我想要該函數調用具有正確參數的 Ajax jQuery 函數。

任何幫助?

最佳解決方案

使用 POST

function DoAction( id, name )
{
    $.ajax({
         type: "POST",
         url: "someurl.php",
         data: "id=" + id + "&name=" + name,
         success: function(msg){
                     alert( "Data Saved: " + msg );
                  }
    });
}

使用 GET

function DoAction( id, name )
{
     $.ajax({
          type: "GET",
          url: "someurl.php",
          data: "id=" + id + "&name=" + name,
          success: function(msg){
                     alert( "Data Saved: " + msg );
                   }
     });
}

編輯:

A,也許是更好的方式來做這個工作 (使用 GET) 如果沒有啓用 javascript 將是生成 href 的 URL,然後使用點擊處理程序通過 ajax 來調用該 URL 。

<a href="/someurl.php?id=1&name=Jose" class="ajax-link"> Click </a>
<a href="/someurl.php?id=2&name=Juan" class="ajax-link"> Click </a>
<a href="/someurl.php?id=3&name=Pedro" class="ajax-link"> Click </a>
...
<a href="/someurl.php?id=n&name=xxx" class="ajax-link"> Click </a>

<script type="text/javascript">
$(function() {
   $('.ajax-link').click( function() {
         $.get( $(this).attr('href'), function(msg) {
              alert( "Data Saved: " + msg );
         });
         return false; // don't follow the link!
   });
});
</script>

次佳解決方案

如果你想做一個 ajax 調用或一個簡單的 javascript 函數,不要忘了用 return 返回你的函數

喜歡這個:

function DoAction(id, name) 
{ 
    // your code
    return false;
}

參考文獻

注:本文內容整合自 Google/Baidu/Bing 輔助翻譯的英文資料結果。如果您對結果不滿意,可以加入我們改善翻譯效果:薇曉朵技術論壇