对于Ajax的概念同步异步操作,我都懂概念;ajax是异步操作,不等其他返回结果就会执行,也不等执行结果继续执行其他的操作;同步操作就是必须等上一步执行完了再执行!enmm~~~但是 因为这个ajax异步操作,我把我自己坑惨了
现象就是:在本地进行添加数据的时候可以添加成功,但是发布出去服务器之后添加数据并没有添加成功;开始我以为是因为后台操作有问题,但是还是有问题;(本地添加数据成功是因为,在本地添加速度比较快,服务器还要去访问数据库所以导致发现问题方向错误);在页面JavaScript代码检查的时候,发现我提交数据后有进行刷新页面,刷新页面;就是刷新页面该死的异步操作,已经把页面刷新了就没有办法提交数据;
Ajax代码:
console.log("ajax执行前");
$.post('Save', data, function (result) {
if (result.code == 0) {
layer.msg("添加成功");
} else {
layer.msg("添加失败");
}
console.log("ajax执行中");
});
parent.window.location.reload();
console.log("ajax执行完");
执行结果顺序是:
嗯 就是我都把页面刷新了 提交到后台的Save方法肯定进不去了 OMG!!!
我本来原意是,不管执行成没有成功先给用户提示,然后在刷新页面,结果把自己坑惨了;所以就调整了一下位置,数据提交成功就给用户提示,并且刷新页面;数据提交失败就只提示不刷新页面
正确的顺序:
console.log("ajax执行前");
$.post('Save', data, function (result) {
console.log("ajax执行中");
if (result.code == 0) {
layer.msg("添加成功");
// parent.window.location.reload();
} else {
layer.msg("添加失败");
}
console.log("ajax执行完");
});
执行结果:
OKKK,就是这样把我自己坑惨了,差不多坑了一天,然后请了外援才解决了