我有一个问题,当我使用ajax post数据到我的express(nodejs)服务器时,我在服务器端有一个回调函数,在完成数据库访问后,然后响应客户端ajax。 但是,我发现,在我的服务器回调函数完成之前,ajax .fail将会触发。我尝试设置超时10000,但是,ajax .fail总是直接触发。
服务器:Express(Node.js) 客户端:jQuery(3.2.1)由ajax发布
ajax代码:
$('#createNewGroup').click(function() {
$('#loading').show();
$.ajax({
url: 'list_live_createNewGroup',
type: 'POST',
cache: false,
data: { groupname: $('#groupname').val(),
groupdesc: $('#groupdesc').val(),
grouplocation: $('#grouplocation').val(),
accountname: $('#accountname').val(),
accountid: $('#accountid').val(),
bankname: $('#bankname').val() }})
.done(function(data) {
$('#loading').hide();
window.location.hash = '#mygroups';
window.location.reload(true);
})
.always(function(data) {
})
.fail(function(data) {
$('#loading').hide();
var response = JSON.parse(data["responseText"]);
alert(response["msg"]);
window.location.href = "list#creategroup";
});
});
服务器端代码:
router.post('/list_live_createNewGroup', tools.checkUserLogin, function(request, response) {
var currentUser = new Parse.User();
currentUser.id = request.session.user;
.......
newUserGroup.save(null, {
success: function(newUserGroup) {
response.json(true);
},
error: function(newUserGroup, error) {
response.json(true);
}
});
});
答案 0 :(得分:0)
<input type="submit" id="createNewGroup">
输入类型&#34;提交&#34;将混淆JQuery做其他事情。因此,我已将输入类型更改为按钮,问题解决了。