$.ajax({ type:\"大众post\"大众, url:\"大众http://localhost:8080/user/insertUser\"大众, xhrFields:{widthCredentials:true},//这里办理跨域问题须要结合后端哦 data:{ \公众username\"大众:$(\公众#username\"大众).val(), \公众password\"大众:$(\"大众#password\"大众).val() }, success:function (result) { if (0==result.code){ alert(\"大众注册成功\"大众);//这里没有正常弹出 window.location.href =\"大众login.html\公众; }else { alert(\"大众注册失落败,请重新注册\"大众); } }, error:function (result) { alert(\"大众未知缺点\"大众); } })
回调函数没有正常实行,办理办法: 添加async: false,(默认是true);
如上:false为同步,这个Ajax要求将全体浏览器锁去世,
只有url要求中后台的方法实行结束后,才可以实行其它操作。

当async: true 时,ajax要求是异步的。但是个中有个问题:ajax要乞降其后面的操作是异步实行的,那么当后台方法还未实行完,就可能已经实行了 ajax要求后面的操作。然而,data这个数据是在ajax要求success后才赋值的,结果,输出时会为空。
以是导致一种回调函数没有被调用的假象。
问题2在添加async: false;后success回调函数能够正常alert弹窗,但是下面的window.location.href =\公众login.html\"大众;不能正常跳转,这个时候您检讨一下您绑定的点击button按钮是否是 type=\"大众button\"大众,如果是submit改成button即可。