跳转


用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"
来源:oschina
链接:https://my.oschina.net/u/3676955/blog/1616371