我有一个ajaxified .NET webservice,我在我的ASP.NET内容页面上用javascript(mootools)调用MasterPage页面,首先检查用户是否有关联的记者,其次是在没有记者关联的情况下删除用户。< / p>
对Web服务的调用都有效,但第二次调用不在IE8中。 使用FF 3.5.3我在firebug中收到“deleteUserInt is not defined”错误。
我已经读过这可能是一个sytax错误,但似乎看不到它。
请帮忙。
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!");
}
答案 0 :(得分:0)
在我将javascript移出文件并使用innerText而不是innerHTML发现错误后,这已经“解决了”。
被移动后,被调用的IE8缺失函数也被“修复”了。
当然我必须传递ClientIds,我在我的aspx页面中使用它作为新方法的参数,但这对我来说很好。
出于某种原因,当我有2次确认然后发出警报时,Firefox会跳枪。