如何在这个ajax调用的console.log结果?

Zor*_*ran 18 ajax jquery

我在jQuery代码中有以下函数:

       btnLogin.on('click', function(e,errorMessage){
       console.log('my message' + errorMessage);
       e.preventDefault();

        return $.ajax({
            type: 'POST',
            url: 'loginCheck',
             data: $(formLogin).serialize(),
            dataType: 'json'  

        }).promise();
        console.log('my message' + errorMessage);

   });
Run Code Online (Sandbox Code Playgroud)

我在做什么:我正在尝试console.log错误消息.如果console.log行在ajax函数之上,我将得到未定义,如果console.log低于它,则没有任何内容.

谁能告诉我如何获得在这个或另一个新函数中显示的errorMessage的值?

此外,任何关于使用Ajax检查php登录表单的链接都将受到高度赞赏

问候,卓然

Qia*_*iau 12

为什么不在通话中处理错误?

$.ajax({
    type: 'POST',
    url: 'loginCheck',
    data: $(formLogin).serialize(),
    dataType: 'json',
    error: function(req, err){ console.log('my message' + err); }
});
Run Code Online (Sandbox Code Playgroud)

  • 它产生未定义的...日志的结果是我的消息未定义. (2认同)

Gam*_*ijo 7

尝试这样的事情:

$.ajax({
    type: 'POST',
    url: 'loginCheck',
    data: $(formLogin).serialize(),
    dataType: 'json',
    success: function (textStatus, status) {
        console.log(textStatus);
        console.log(status);
    },
    error: function(xhr, textStatus, error) {
        console.log(xhr.responseText);
        console.log(xhr.statusText);
        console.log(textStatus);
        console.log(error);
    }
});
Run Code Online (Sandbox Code Playgroud)


nsm*_*nsm 6

$.ajax({
    type: 'POST',
    url: 'loginCheck',
    data: $(formLogin).serialize(),    
    success: function(result){
        console.log('my message' + result);
    }
});
Run Code Online (Sandbox Code Playgroud)


Nic*_*ick 5

您可以尝试这样的事情(从jQuery Ajax示例中复制)

var request = $.ajax({
  url: "script.php",
  type: "POST",
  data: {id : menuId},
  dataType: "html"
});

request.done(function(msg) {
  console.log( msg );
});

request.fail(function(jqXHR, textStatus) {
  console.log( "Request failed: " + textStatus );
});
Run Code Online (Sandbox Code Playgroud)

原始代码的问题在于,传递给on函数的error参数实际上并非来自任何地方。上的jQuery不会返回第二个参数,即使这样做,它也会与click事件有关,而不与Ajax调用有关。