jQuery $ .ajax只有在我打破它时才会调用

时间:2013-11-21 19:47:26

标签: jquery ajax

我发现我的AJAX调用的问题发生了,如果我打破它,然后继续前进,在Chrome开发工具中。也就是说,如果我以常规用户的身份提交表单,则该服务永远不会被命中。如果我在$.ajax上设置了一个断点,然后只是在它上方设置了一个断点,则进行呼叫。什么会导致这种行为?

表单中有两个文本框(firstname和lastname)(getUsername)

$('#getUsername').submit(function () {
    var firstname = $('#firstname').val(),
        lastname = $('#lastname').val();

    authenticationHelper.getUsername(firstname, lastname);
});

然后,电话基本上是这样的,在同一个模块中有几个不同的doSomethings()(他们不做任何疯狂的事情)

authenticationHelper = function () {
    var getUsername = function (first, last) {
        var firstName = doSomething(first);
        var lastName = doSomething(last);

        doGetUsername(firstName, lastName);
    }

    var doSomething = function(string) {
        return string;
    }

    var doGetUsername = function (firstName, lastName) {
        $.ajax({
            type: 'GET',
            url: 'http://localhost/api/user/',
            data: { first: firstName, last: lastName },
            dataType: 'jsonp',
            success: function () {
                alert('success');
            },
            error: function (xhr, status, err) {
                console.log(xhr + status + err);
            }
        });
    }

    return {
        getUsername: getUsername
    }
}();

1 个答案:

答案 0 :(得分:1)

您在submit来电中未返回false,因此getUsername只是在authenticationHelper.getUsername完成之前没有中断时才会提交。