gpt4 book ai didi

javascript - Ajax 调用被跳过

转载 作者:行者123 更新时间:2023-12-02 18:02:59 25 4
gpt4 key购买 nike

我在使用下面的 javascript 时遇到问题,其中 $.ajax调用未被调用。 alert('foo')确实发生了,但是数据调用被完全跳过,并且回调永远不会到达(永远不会得到 alert('success!') 。我不完全理解回调,但这似乎应该起作用。

编辑

将脚本编辑到我当前所在的位置,因为我读过这种方式是更好的做法。不过,我可以介入authenticate() ,它在 url:[...] 处中断,但实际上从未进行过 ajax 调用。我尝试删除返回只是为了看看这是否是问题所在,但它产生了相同的结果。

define(["jQuery", "kendo", "modernizr", "app/environment"], function ($, kendo, modernizr, environment) {
var authenticate = function (username, password) {
return $.ajax({
url: environment.apiConnection + '/canlogin?userid=' + username + '&password=' + password,
type: 'get',
dataType: 'jsonp'
});
}

var canLogin = function(data) {
alert('good');
}

return {
viewModel: kendo.observable({
username: null,
password: null,
authenticate: function () {
var username = this.get('username'),
password = this.get('password');

authenticate(username, password).done(canLogin);
}
})
}
});

最佳答案

改用回调。

var canLogin = function (username, password, callback) {
$.ajax({
async: false,
url: config.apiConnection + '/canlogin?userid=' + username + '&password=' + password,
type: 'GET',
dataType: 'jsonp',
error: function (x, t, r) {
alert('Error');
},
success: callback
});

}

// use
canLogin("user","passwd",function( data ){
alert("Im called on authentication success!");
});

关于javascript - Ajax 调用被跳过,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20353443/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com