我有一个函数可以调用一个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 *的参数,但是这应该是事件,不管你怎么称呼它。当然,你永远不会调用该函数来禁用你的微调。 –