Voici mon code
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
est défini dans la page Default.aspx d'où j'appelle la fonction loginFromDef()
en onclick
du bouton d'envoi.
Je reçois une erreur TypeError: a is undefined
Ne t'inquiète pas pour mon .ashx
handler. Il fonctionne bien. Je le testerais.
Je pense var a
en fonction loginFromDef
n'est pas initialisé. Parce que may be jQuery is making asynchronous call. Even I have set async:false
dans les options.
Qu'est-ce qui ne va pas chez moi ? Veuillez suggérer une solution à ce problème.