加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ajax交互post数据格式问题

发布时间:2020-12-16 03:32:07 所属栏目:百科 来源:网络整理
导读:概述 前后端数据交互主要有两种方式:get和post。其他restful风格的请求数据格式本质上都可以转为这两种形式,本文暂不讨论。 网址输入请求,超链接访问等都是get请求,请求数据格式固定单一,都是附加在url后面,中文和非ASII字符需要和后端协定统一编码,

概述

前后端数据交互主要有两种方式:get和post。其他restful风格的请求数据格式本质上都可以转为这两种形式,本文暂不讨论。
网址输入请求,超链接访问等都是get请求,请求数据格式固定单一,都是附加在url后面,中文和非ASII字符需要和后端协定统一编码,其他情况下如果参数形式拼接正确一般不会出问题。

post请求相对较复杂,本文重点论述。

post请求数据格式一般有以下几种方式:

方案一

不指定enctype。请求数据string(json格式)且数据没被编码。server端可以通过在controller方法中用Gson或者Jackson进行正常解析。

方案二

不指定enctype。请求数据对象且被编码。server端在controller方法中,需要通过stream reader方式获取,然后解析成对象使用。有一次看到群里有人问请求数据乱码,后端普通注解方式获取不到数据对象,不知如何解析就属于这种类型。 此种方法不推荐。

总结

上述两种都没指定enctype,也没手动编码数据格式。(contentType默认: "application/x-www-form-urlencoded") 发送信息至服务器时内容编码类型。默认值适合大多数应用场合。告诉服务器从浏览器提交过来的数据格式。默认contentType server端框架封装处理好了,能通过getParameter或者注解方式正常获取。我这里显式的指定 contentType: "application/json; charset=utf-8",传递的数据对应格式不对才会出现这种问题,这是传递的时候最好传json对象。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读