解决AJAX发送请求成功却接收不到返回参数问题

导读:本篇文章讲解 解决AJAX发送请求成功却接收不到返回参数问题,希望对大家有帮助,欢迎收藏,转发!站点地址:www.bmabk.com

今天开发过程中碰到的一个问题, 提交表单的时候使用ajax发送请求成功, 数据也添加进去了, 但是确没有收到返回, 页面就自动刷新了

原因

<button type="submit" onclick="updateSubmit()" class="btn btn-primary">提交</button>

这里的提交按钮type为submit, submit会强制刷新页面, 因为页面被刷新了, 那么ajax返回的信息来到了一个新的页面, 那返回的信息自然是接收不到的

解决

<button type="button" onclick="updateSubmit()" class="btn btn-primary">提交</button>

所以将submit改成button就解决了!


在百度的过程中, 也找到了其他可能发生的情况:

  • 如果后台的类是用的@Controller注解, 则方法必须加上@ResponseBody注解, 也可以直接使用@RestController, 这是@Controller和@ResponseBody两个注解的结合, 所以返回json数据就不用在方法前面加@ResponseBody注解了
  • 如果传递的参数是数组, 后台是用ArrayList接收, 则需要在ajax中添加 traditional:true 因为这个属性默认是false, jquery会深度序列化这个对象, 以适应PHP等框架, 我们可以通过设置tradtional为true阻止深度序列化
    traditional是false时, 使用数组或list接收就是[[“abc”,“qwe”]]格式
    traditional是true时, 使用数组或list接收就是[“abc”,“qwe”]格式

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

文章由极客之音整理,本文链接:https://www.bmabk.com/index.php/post/98665.html

(0)
小半的头像小半

相关推荐

极客之音——专业性很强的中文编程技术网站,欢迎收藏到浏览器,订阅我们!