jQuery post返回没有响应数据

Avd*_*ept 7 javascript ajax jquery post

我有这个代码

$(document).delegate('#login', 'pageinit', function(event) {

console.log('inside login page')
$('#loginform').submit(function() {

    // Get the value of the username and password
    var myusername = $("#username").val();
    var mypassword = $("#password").val();

    // Post to the login route
    $.post(global_urlstub + '/customer_login', {username: myusername, password: mypassword}, function(data) {

        alert(data);
        console.log(data);
        if (data.flag == true) {
            alert('123');
            console.log(data);
            jQuery.mobile.changePage('#page1');
        }
        else {
            alert('12345');
            console.log(data);
            $('#errmsg_login').html(data.msg);
        }

    }, "json" );

    return false;

});
Run Code Online (Sandbox Code Playgroud)

});

我的服务器用密钥返回哈希flag.但是,此代码不会向控制台或警报返回任何数据,而发布请求成功.我究竟做错了什么?

Bar*_*rie 3

我同意 Hemant_Negi 的观点,即这是您的服务器未返回有效 JSON 的问题。以下基于您的代码可以正常工作(也可以更改其中的 URL,从而返回有效的 JSON):

var myusername = 'a', mypassword = 'b';
$.post('http://ip.jsontest.com', {username: myusername, password: mypassword}, function(data) {
    alert(data.ip);
    console.log(data);
    if (data.flag == true) {
        alert('123');
        console.log(data);
        jQuery.mobile.changePage('#page1');
    }
    else {
        alert('12345');
        console.log(data);
        $('#errmsg_login').html(data.msg);
    }
}, "json" ).fail( function(jqXHR, textStatus, errorThrown) {
    alert(textStatus);
});
Run Code Online (Sandbox Code Playgroud)

如果更改该 URL,则调用fail() 应发出错误消息警报。