Heim >Backend-Entwicklung >PHP-Tutorial >ajax请求值后返回会刷新页面?
我用$.post提交表单,如果登录成功直接将信息保存到session,如果失败返回失败原因。
我是在模态框上写的表单,把失败原因显示在模态框上。但是返回后会自动刷新并关闭模态框。
如果我在$.post完成后return false;则不会关闭模态框且显示正常。 但是如果登录正确了也会return false;
要如何解决
我用$.post提交表单,如果登录成功直接将信息保存到session,如果失败返回失败原因。
我是在模态框上写的表单,把失败原因显示在模态框上。但是返回后会自动刷新并关闭模态框。
如果我在$.post完成后return false;则不会关闭模态框且显示正常。 但是如果登录正确了也会return false;
要如何解决
如果你明确你在js中没有执行reload操作,然而点击提交按钮却会刷新页面的情况是:
当你点击提交的时候,其实完成了两个动作,一个是你写的ajax提交数据,一个是form表单的自动提交,而且你在form中的action是为空的吧,就提交到当前页面,也就是刷新咯
所以你
<code>click(function(){ //ajax提交 $.post(); return false; }) </code>
在你return false时就阻止了form的提交,这个是可以加上的。
但是你说的登录正常也是return false你不要把他用作回调结果吗,当做一个动作,就ok了,
看是否返回成功,直接看你的ajax返回值就Ok啦,然后如果需要根据是否登录成功来进行下面的操作的时候,就把动作写在ajax的回调中
你把服务器端的代码也发上来啊
ajax发送一个请求到服务器,服务器可以return一个json结果,同样也可以重定向刷新页面,这个取决于服务器端的代码实现,lz应该先去服务器端进行排查