ajax和springmvc的请求响应原理——深入理解jQuery中$.get、$.post、$.getJSON和$.ajax的用法
1,四大重要部分:
请求链接
post请求和get请求
请求参数形式
响应内容形式
2,从springmvc的controller角度,controller能接收到请求的前提
请求链接必须对应
post和get请求方式必须对应
请求参数形式必须对应
3,从springmvc的controller角度,controller能成功响应的前提
请求中指明的响应内容形式必须和controller的produces指明的一致
controller的@ResponseBody的有与无
controller的setViewName的有与无
4,进一步说明
post请求:请求参数形式有两类:一类是Form Data,提交的是Object对象;另一类是Json,提交的是json字符串
From Data:(Object参数)可以在controller中使用@RequestParam和简单pojo方式接收
Json:(json字符串)可以在controller中使用@RequestBody接收
get请求:请求参数形式只有一类:query string parameter,会被设置到url后面
query string parameter:(key/value)可以在controller中使用@RequestParam和简单pojo方式接收
5,jQuery的ajax方法:
$.get :默认使用 GET 方式 (无Content-Type,附加到url后) 无指定响应内容形式,由controller决定
$.post:默认使用 POST方式 传递附加参数时(Content-Type:application/x-www-form-urlencoded) 没有附加参数时(无Content-Type) 无指定响应内容形式,由controller决定
$getJSON:默认使用 GET 方式(无Content-Type) 专门返回json(Content-Type:application/json)
$load:默认使用 GET 方式(无Content-Type) - 传递附加参数时自动转换为 POST 方式(Content-Type:application/x-www-form-urlencoded) 无指定响应内容形式,由controller决定
6,总结
请求方式关系请求参数形式:get请求不能发送json字符串和Form Data,导致没有content-type请求头
post请求能够发送Form Data和json字符串,对应的content-type是Content-Type:application/x-www-form-urlencoded和Content-Type:application/json
请求参数形式关系后端controller的参数接收:Form Data可以由简单pojo和@RequestParam接收;json字符串只能使用@RequestBody接收
query string parameter可以由简单pojo和@RequestParam接收
7,参考:深入理解jQuery中$.get、$.post、$.getJSON和$.ajax的用法(https://www.cnblogs.com/ranzige/p/jquery_get_ajax.html)
ajax和springmvc的请求响应原理——深入理解jQuery中$.get、$.post、$.getJSON和$.ajax的用法的更多相关文章
- Web 请求响应原理(转)
用Java实现Web服务器 减小字体 增大字体 摘要:WWW的工作基于客户机/服务器计算模型,由Web 浏览器(客户机)和Web服务器(服务器)构成,两者之间采用超文本传送协议(HTTP)进行通信,H ...
- SpringMVC之请求响应(上)
1.OutPutController package com.tz.controller; import java.util.Map; import org.springframework.stere ...
- 初探Asp.net请求机制原理 1
web原理 请求---响应 而一个 简单的请求 响应中包含太多知识,只有把 请求响应原理搞懂才能在web的世界里好好翱翔(注:自已的整理的知识参考博友们东西或自已所想,没有盗版权的意思,在此说明就不引 ...
- content-type常见类型辨析(以ajax与springmvc前后端交互为例)
博客搬家: content-type常见类型辨析(以ajax与springmvc前后端交互为例) 在http报文的首部中,有一个字段Content-type,表示请求体(entity body)中的数 ...
- 详解Ajax请求(一)前言——同步请求的原理
我们知道,ajax是一种异步请求的方式,想要了解异步请求,就必须要先从同步请求说起.常见的同步请求的方式是form表单的提交,我们先从一种同步请求的示例说起. 我们希望输入姓名可以从后台得到身份证号. ...
- Spring系列 SpringMVC的请求与数据响应
Spring系列 SpringMVC的请求与数据响应 SpringMVC的数据响应 数据响应的方式 y以下案例均部署在Tomcat上,使用浏览器来访问一个简单的success.jsp页面来实现 Suc ...
- HTTP协议请求响应过程和HTTPS工作原理
HTTP协议 HTTP协议主要应用是在服务器和客户端之间,客户端接受超文本. 服务器按照一定规则,发送到客户端(一般是浏览器)的传送通信协议.与之类似的还有文件传送协议(file transfer p ...
- ajax请求响应中用window.open打开新窗口会被浏览器拦截的解决方式
一.问题描述 ajax 异步请求成功后需要新开窗口打开 url,使用的是 window.open() 方法,但是会被浏览器给拦截了,需要用户点下. 二.问题分析 浏览器之所以拦截新开窗口是因为该操作并 ...
- asp.net请求响应模型原理随记回顾
asp.net请求响应模型原理随记回顾: 根据一崇敬的讲师总结:(会存在些错误,大家可以做参考) 1.-当在浏览器输入url后,客户端会将请求根据http协议封装成为http请求报文.并通过主sock ...
随机推荐
- CVPR2020:训练多视图三维点云配准
CVPR2020:训练多视图三维点云配准 Learning Multiview 3D Point Cloud Registration 源代码和预训练模型:https://github.com/zgo ...
- SpringCloud Alibaba实战(4:基本开发框架搭建)
在上一节,我们已经完成了项目的整体技术架构设计和具体的数据库设计,接下来,我们搭建整体的开发框架. 开发工具选用Idea. 开发工具只是为了提高效率,如果不习惯Idea的话,STS使用起来也是OK的. ...
- vue3.0 props
.orange { color: rgba(255, 165, 0, 1) } Vue3.0 props 1.你是否遇到了,引用props数据报错的问题? 在Vue3.0中,采用了proxy,让很多数 ...
- Swapon交换空间: 缓解真实物理内存的压力
交换空间: 缓解真实物理内存的压力 交换空间: 缓解真实物理内存的压力 由硬盘的空间来组成 – 交换分区:以空闲分区充当的交换空间 1.格式化交换分区 [root@server0 /]# mkswap ...
- text-decoration属性作用和方法
text-decoration-line(注释文本添加一条装饰线):none(文本中没有线条). underline(文本的下方显示一条线). overline(文本的上方将显示一条线). line- ...
- kubelet之volume manager源码分析
kubernetes ceph-csi分析目录导航 基于tag v1.17.4 https://github.com/kubernetes/kubernetes/releases/tag/v1.17. ...
- 二QT中使用QTimer定时器
QT中的定时器类叫QTimer(5.8以上版本才有),构造函数只需要提供父对象的指针 使用的话,需要调用QTImer的start方法,该方法以毫秒单位,每过指定毫秒时间,该类对象就会发出一个timeo ...
- AD设计中地铜突然消失且无法选中删除的解决办法
作者:struct_mooc 博客地址: https://www.cnblogs.com/structmooc/p/14984466.html 前几天在设计一块电路板的时候,已经全部设计完了!但是 ...
- k8s部署docker容器
一.环境 需机器已部署好k8s和docker的环境 二.操作步骤 1.将制作好的镜像推送到docker仓库 docker tag nginx:test harbor:test-nginx docker ...
- 13.3示例:抽象的Number类
要点提示:Number类是数值包装类.BigInteger以及BigDecimal的抽象父类.