前后台跳转、参数传递

≯℡__Kan透↙ 提交于 2020-11-08 15:32:07

跳转

用ajax传递多个参数的时候:用大括号包住,中间逗号隔开

如果传递的是整个表单序列化后的值,后台接收的时候用对应的实体类接收,此时参数必须为一个,否则后台的实体对象会接收不到参数。

想要跳转到某一页面,不能单单用ajax,即在ajax的url中写想要访问的controller中的方法的路径,然后那个方法返回一个页面。这样子是不会跳转的,因为ajax是异步提交的,地址栏的url不会变,除非在回调函数中写上window.location.href='url',或者其他可以进行跳转的代码,才可以实现跳转。

参数传递

web端发出,利用ajax的data传递,可以是字符串,也可以是json

后台接收,如果是字符串的话直接在方法中写上String类型的对象接收,对象名要和ajax中的参数一致,如果是json,后台可以用fastJson或者ObjectMapper等将json转成对象。

1.model.addAttribute();

2.session.setAttribute();

ajax

1.contentType: 发送信息至服务器时内容编码类型,简单说告诉服务器请求类型的数据

   在调试js时候通过chrome的F12或firefox的firebug查看请求参数时,尤其请注意head

   默认值: "application/x-www-form-urlencoded"

dataType:告诉服务器,我要想什么类型的数据,除了常见的json、XML,还可以指定 html、jsonp、script或者text

2.success和error

ajax的success和error方法根据响应状态码来触发。当XMLHttpRequest.status为200的时候,表示响应成功,此时触发success().其他状态码则触发error()。

除了根据响应状态码外,ajax还会在下列情况下走error方法:

1. 返回数据类型不是JSON

2. 网络中断

3. 后台响应中断

3.返回中文:需要在@requestMapping中加上produces="text/json;charset=UTF-8"

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!