这是我的代码
var jsonpath;
function loginFromDef() {
var a = grantAccess($('#login :input').serialize());
if (a.Msg) {
$('#msg').html(a.Msg).attr('class', 'error');
}
else if (a.done) {
var returnUrl = getQueryString('ReturnURL');
if (returnUrl)
window.location = returnUrl;
else
window.location = 'Home.aspx';
}
return false;
}
function grantAccess(dataToPost) {
$.ajax({
type: "POST",
url: jsonpath + 'Json.ashx?method=GrantAccess',
async: false,
data: dataToPost,
success: function (data) {
return data;
}
});
}
function getQueryString(name) {
var match = RegExp('[?&]' + name + '=([^&]*)').exec(window.location.search);
return match && decodeURIComponent(match[1].replace(/\+/g, ' '));
}
var jsonPath
正在 Default.aspx 页面中定义,我在提交按钮loginFromDef()
的事件中调用函数。onclick
我收到错误TypeError: a is undefined
不要担心我的.ashx
处理程序。它工作正常。我会测试它。
我认为var a
功能loginFromDef
没有被初始化。因为may be jQuery is making asynchronous call. Even I have set async:false
在选项中。
我怎么了。。??请提出解决方案。