Asp.net 从AJAXWebService调用的OnComplete调用AJAXWebService不会第二次触发OnComplete
我有一个ajaxified.NET Web服务,我从ASP.NET内容页上的javascriptmootools调用该服务,首先检查用户是否有关联的记者,然后在没有关联记者的情况下删除用户 对webservice的两个调用都有效,但第二个调用的onComplete在IE8中不起作用。 使用FF3.5.3,我在firebug中得到一个deleteUserInt未定义错误 我已经读过很多书,说这可能是sytax的错误,但我似乎看不出来 请帮忙Asp.net 从AJAXWebService调用的OnComplete调用AJAXWebService不会第二次触发OnComplete,asp.net,javascript,ajax,mootools,Asp.net,Javascript,Ajax,Mootools,我有一个ajaxified.NET Web服务,我从ASP.NET内容页上的javascriptmootools调用该服务,首先检查用户是否有关联的记者,然后在没有关联记者的情况下删除用户 对webservice的两个调用都有效,但第二个调用的onComplete在IE8中不起作用。 使用FF3.5.3,我在firebug中得到一个deleteUserInt未定义错误 我已经读过很多书,说这可能是sytax的错误,但我似乎看不出来 请帮忙 var userId; var siteName; va
var userId;
var siteName;
var siteFolder;
function userInternalHasUserExternals() {
siteName = document.location.href.split("/")[document.location.href.split("/").length - 1];
siteFolder = document.location.href.replace(siteName, "");
var jsonRequest = new Request.JSON({ url: siteFolder + "Service1.asmx/UserInternalHasUserExternals",
onComplete: onComplete,
onFailure: onError,
urlEncoded: false,
headers: { "Content-type": "application/json" }
});
userId = document.getElementById("<%= HiddenId.ClientID %>").innerText;
jsonRequest.send(JSON.encode({ 'userInternalId': userId }));
}
function onComplete(results) {
var fullname = document.getElementById("<%= fullnameTextBox.ClientID %>").value;
if (results != null && results["d"] != null && results["d"]) {
alert("Du kan ikke slette " + fullname + ". Kontoen har journalister tilknyttet.");
return false;
}
var deleteUser = confirm("Er du sikker på du vil slette " + fullname + "?");
if (deleteUser) {
deleteUserInt();
window.location = window.siteFolder + "CreateUserInternal.aspx?IsDeleted=true";
}
else
window.location = window.siteFolder + "EditUserInternal.aspx?UserInternalId=" + window.userId;
}
function deleteUserInt() {
var request;
request = new Request.JSON({ url: window.siteFolder + "Service1.asmx/DeleteUserInternal",
onComplete: onDeleted,
onFailure: onError,
urlEncoded: false,
headers: { "Content-type": "application/json" }
});
request.send(JSON.encode({ 'userInternalId': window.userId }));
}
function onDeleted(args) {
if (args != null && args["d"] != null && args["d"])
window.location = window.siteFolder + "CreateUserInternal.aspx?IsDeleted=true";
else
alert("Der skete en fejl. Kontakt venligst site administrator.");
}
function onError() {
alert("Something bad happened!");
}
在我将javascript移出一个文件并发现使用innerText而不是innerHTML时出现错误后,这个问题就解决了 被调用的IE8缺失函数在移动后也会自行修复 当然,我必须将ClientID(我在我的aspx页面中用作新方法的参数)传递给新方法,但这对我来说很好 出于某种原因,当我有两个确认和一个警报时,Firefox就开始行动了