使用JQuery - 我正在尝试对我的服务器进行AJAX调用以验证用户名可用性。所以在我的表单验证中,我调用了下面的函数。
无关紧要什么,它始终返回"状态:0,消息:验证用户名"的未知错误,这是我的全部'默认值。
然而,控制台日志显示我得到了我的期望和“#”状态'和'消息'正确设置,但返回值是默认值...
这就是我调用该函数的方式,以及显示返回的日志。
var vun = validUsername( form.username.value );
console.log( vun );
function validUsername( un ) {
var username = un;
var status = 0;
var message = 'Unknown error validating username.';
// make ajax call to validate username
$.ajax({
method: 'POST',
url: '/user/',
data: { validUsername:username },
dataType: 'json',
cache: false
})
.fail( function( jqXHR ) {
status = 0;
message = 'Error, validating username. ' + jqXHR.responseText + ' ' + jqXHR.statusText;
})
.done( function( data ) {
console.log( 'return data = ' + data['DATA'] + 'with a length of : ' + data['DATA'].length );
if ( data['DATA'].length ) {
status = 0;
message = 'That Username is already being used. Please Try a different username.';
console.log( 'I am here - should be invalid UN. status : ' + status + ', message: ' + message );
} else {
status = 1;
message = 'success.';
console.log( 'I am here - should be valid UN. status : ' + status + ', message: ' + message );
}
});
return { 'status' : status, 'message ' : message };
}