Javascript 服务器请求期间的AJAX调用失败
我使用一个按钮触发一个AJAX调用,从SQL数据库检索数据。我遇到的问题是,当单击按钮还触发对服务器的调用时,AJAX调用失败 代码: 所以如果ptsession!=focusedcell,本质上,如果单击的记录与当前记录不同,它将触发对c#codebehind的服务器调用以获取新记录Javascript 服务器请求期间的AJAX调用失败,javascript,c#,jquery,asp.net,ajax,Javascript,C#,Jquery,Asp.net,Ajax,我使用一个按钮触发一个AJAX调用,从SQL数据库检索数据。我遇到的问题是,当单击按钮还触发对服务器的调用时,AJAX调用失败 代码: 所以如果ptsession!=focusedcell,本质上,如果单击的记录与当前记录不同,它将触发对c#codebehind的服务器调用以获取新记录 如果记录不同,AJAX调用将失败,从button57(回发)对服务器的调用将成功。如果记录相同(因此没有从按钮57调用服务器),AJAX调用将成功。我不明白为什么会这样 我很困惑(因此没有服务器调用)AJAX调用
如果记录不同,AJAX调用将失败,从button57(回发)对服务器的调用将成功。如果记录相同(因此没有从按钮57调用服务器),AJAX调用将成功。我不明白为什么会这样 我很困惑
(因此没有服务器调用)AJAX调用成功
如果没有服务器调用,就没有AJAX,那么如果没有服务器调用,AJAX如何成功?这是另一个服务器调用。因此,单击按钮会触发回发。这似乎是当我一次对服务器进行两次调用时,AJAX出现了故障。如果在进行第二次AJAX调用之前不等待第一次AJAX调用完成,那么如果第二次AJAX调用需要等待第一次AJAX调用完成,这可能是一个问题—因为您的代码只有一条AJAX语句,这有点难看,如果是这样的情况,有没有办法让我来确定是否发生了这样的事情?我真的需要这两个电话发生在那个事件上。如果一个确实需要在另一个之前完成,我有没有办法用javascript来完成?除非我是盲人,否则我只看到一个“服务器调用”,即$.ajax
——因为我不知道这另一个“服务器调用”发生在哪里,所以我提出的任何建议充其量只是猜测,可能会让你误入歧途
$('.ptimage').click(function () {
document.getElementById('loading').style.display = "block";
if (dataStore.getItem('mlist') == null || dataStore.getItem('flist') == null) {
alert('isnull');
var nulldata = {};
nulldata.nullvar = "thing";
var jsonData = JSON.stringify({
nulldata: nulldata
});
$.ajax({
type: "POST",
url: "WebService.asmx/Getmf",
data: jsonData,
contentType: "application/json; charset=utf-8",
dataType: "json",
success: OnSuccess,
error: OnErrorCall
});
function OnSuccess(response) {
var arraystring = response.d;
alert(arraystring);
mlist = arraystring.split(',');
mlist.splice(0, 1);
mlist.splice(-1, 1);
dataStore.setItem('mlist', JSON.stringify(mlist));
flist = arraystring.split(';');
flist.splice(0, 1);
flist.splice(-1, 1);
dataStore.setItem('flist', JSON.stringify(flist));
}
function OnErrorCall(response) {
alert("fail");
}
}
ptsession = dataStore.getItem('ptsessionval');
if (ptsession !== focusedcell) {
btn57.click();
}
})