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)

  • 相关阅读:
    基于typora编写Markdown文档
    VMware Workstation常见的故障处理
    VMware Workstation产品常用的快捷键
    2
    1
    9
    8
    7
    6
    5
  • 原文地址:https://www.cnblogs.com/lirenhe/p/11557744.html
Copyright © 2011-2022 走看看