解决使用ajax时success中的内容无响应的问题

近日在做项目使用ajax时发现controller传回的值在ajax中无响应。

如图success中的模块无响应。
在这里插入图片描述

考虑是否时前端没有传回数据,使用postman工具进行测试,数据确实传回了前端。

最后找到了问题所在,在此做下记录。

结论:由于此ajax请求提交的是form表单,所以在对inputtype属性上使用了submit来实现form表单的提交。
这会使得页面刷新,而ajax并不会导致页面刷新,ajax的async(异步)属性默认是true,真正导致页面刷新的是这个type为submit的input标签,会使得页面强制刷新,而页面刷新了,ajax返回的信息就会传到另一个页面,success中的模块自然就不会再执行。
在这里插入图片描述
解决方法:
1.将ajax请求的async属性设置为false。
在这里插入图片描述
2.将input的type属性设置为button,使用其他的方法实现数据的提交。

// submit 改为 button
<input type="submit" />

<input type="button" />

猜你喜欢

转载自blog.csdn.net/Hambur_/article/details/113243785