zoukankan      html  css  js  c++  java
  • 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)

  • 相关阅读:
    列表与字典的嵌套
    arduino开发ESP8266学习笔十-----ESP8266闪存文件系统
    arduino开发ESP8266学习笔记九---------ESP8266网络服务器(通过网页访问)
    互联网基础
    IC内部集成MOSFET的升压转换电路计算
    arduino开发ESP8266学习笔记八------(WIFI通信)STA模式、AP模式、混合模式
    arduino开发ESP8266学习笔记七--------EEPROM的使用
    arduino开发ESP8266学习笔记六——变量和函数
    arduino开发ESP8266学习笔记五——模拟输入
    arduino开发ESP8266学习笔记四-----舵机
  • 原文地址:https://www.cnblogs.com/lirenhe/p/11557744.html
Copyright © 2011-2022 走看看