javascript函数不使用jquery ajax返回正确的数据

时间:2015-07-30 03:31:49

标签: javascript jquery

使用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 };

}

0 个答案:

没有答案