我发现我的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
}
}();
答案 0 :(得分:1)
您在submit
来电中未返回false,因此getUsername
只是在authenticationHelper.getUsername
完成之前没有中断时才会提交。