我正在使用Jquery和MVC 我对锚标记的onclick事件有一些问题。 这是调用Javascript函数,而Javascript函数又向控制器发出AJAX调用
<a id="LoginLink_@Model.DomainLibraries[i].Id" href="" onclick="LoginLibrary(this);" domainLibId="130" HasRole="false" style="text-decoration:underline;">Login</a>
function LoginLibrary(obj) {
var selectedLibraryId = obj.getAttribute('domainLibId');
var hasUserRole = obj.getAttribute('HasRole');
$.ajax({
type: "POST",
url: "/Account/LoginLibrary",
data: { domainLibraryId: selectedLibraryId, hasUserRole: hasUserRole },
success: function (arg) {
alert(arg);
$("#divExAuthLibSetting").html(arg);
},
error: function (xhr, ajaxOptions, thrownError) {
}
});
}
发生的事情是,当我点击登录链接时,在呼叫进入控制器方法之前,它正在发出一个空值警报,可能是因为“alert(arg);”。然后呼叫转到控制器。但是在得到控制器的回应之后,我无法获得arg中的任何内容。
如果我在document.Ready()中调用函数LoginLibrary(),它就可以正常工作了。 我能够得到响应'arg'并在div中显示。
这是否意味着ajax调用在点击时不适用于锚标记。