2016-07-18 35 views
0

我該如何使J查詢ajax函數,所以每當我需要它時,我只是傳遞一個參數給它,而不是再次編寫整個代碼,例如 here是一個Ajax代碼讓ajax調用一個重複函數,所以我可以再次調用它n再次

<script> 
    $(function() { 
     $.ajax({ 
      url: "ajax/select.php", 
      dataType: "json", 
      success: function (data) { 
       $.each(data, function (index) { 
        $("#names").append("<li>"+data[index].name+"</li>") 
       }); 
      } 
     }); 
    }); 
</script> 
現在

,如果我想再拍Ajax請求有一個網頁,我必須寫這些線與不同的URL數據和消息的代碼,我怎麼能使其在功能,所以你剛剛推參數它和它的工作形式我 像

<script> 
    function multiple_calls(url, datatype, success) { 
     $.ajax({ 
      url: url, 
      dataType: datatype, 
      success: success 
     }); 
    } 
</script> 

並將它稱爲任何我想要的只是一個演示,但可以有人建議我,我該怎麼做?並請避免負面的標記,因爲我正在阻止請請求一個簡單的請求

+0

'timeout'可能? –

+3

您目前的解決方案有什麼問題?你甚至嘗試過嗎? – charlietfl

+0

@charlietfl可能是函數名稱中的空格;)但是 - 它看起來相當不錯。 – Jurik

回答

1

你的函數中很少修改。您也可以傳遞請求參數,在函數中動態輸入。

//external function called while ajax success event fired. 
var successFn = function(data) 
{ 
    console.log(data); 
} 

//ajax call function 
function ajaxcall(url,type,data,dataType,successFn){ 
    $.ajax({ 
     url: url, 
     type: type, 
     data: data, 
     dataType: dataType, 
     success : successFn 
    }); 
} 
+0

它很抱歉對你回答遲到,但感謝的人 –

0

您建議的實施是好的。

你的第一個代碼顯示了一個自調用函數。瞭解它們。

可以非常類似於存儲這個功能你的第二個代碼,而不是使用:

<script> 

    function ajaxSuccess (data) { 
     $.each(data, function(index){ 
      $("#names").append("<li>" + data[index].name + "</li>"); 
     }); 
    } 

    function ajaxCall (url, datatype, success) { 
     $.ajax({ 
      url:url, 
      dataType: datatype, 
      success: success 
     }); 
    } 

    // Re-usable AJAX call 
    ajaxCall("ajax/select.php", "json", ajaxSuccess); 

</script> 
相關問題