我有一個函數可以調用一個jQuery ajax調用REST端點。此功能將在不同端點運行5-6次以收集數據以進行驗證。在此期間,我想在瀏覽器屏幕上顯示一個微調器,以向最終用戶指示該程序正在處理中。我想在完成後隱藏微調器。我正在努力弄清楚如何使這個工作。我的想法是一個簡單的回調函數。我試着將回調函數放在click方法和css方法中,以及直接在ajax調用(validateAcctStr)中,這些都不起作用。我覺得我缺少一些簡單的東西?jQuery ajax調用後的回調函數
$(document).ready(function(){
$("#submit").click(function(disableSpinner){
$("#json-overlay").css("display", "block");
validateAcctStr("ValidationAccount", "#accountTxt", "#acctValid");
validateAcctStr("ValidationBusiness", "#businessTxt", "#busValid");
});
function disableSpinner(){
$("#json-overlay").css("display", "none");
alert("test");
}
});
這是我到目前爲止有我的AJAX調用(它從一個SharePoint列表中提取數據):
function validateAcctStr(list, inputField, validationField)
{
$.ajax({
url: "https://urlAddress/_api/web/lists/getbytitle('"+list+"')/items?$orderby=Title asc&$top=4999",
type: "GET",
dataType: "json",
headers: {
Accept: "application/json;odata=verbose"
},
success: function(data){
$.each(data.d.results, function(index, item){
var arrayVar = $(inputField).val();
if(item.Title === arrayVar){
$(validationField).html("Valid").css({"background-color": "green", "color": "white", "text-align": "center"});
return false;
} else {
$(validationField).html("Invalid").css({"background-color": "red", "color": "white", "text-align": "center"});
}
});
}
});
}
不工作意味着什麼? – Mihai
您在文檔準備好處理程序中定義了'disableSpinner',但之後沒有做任何處理。 –
你調用了click處理函數* disableSpinner *的參數,但是這應該是事件,不管你怎麼稱呼它。當然,你永遠不會調用該函數來禁用你的微調。 –