ajax传JSON时设置的contenttype导致JAVA中request.getParameter("")怎么也接收不到数据

ajax传JSON时设置的contenttype默认值是application/x-www-form-urlencoded,

当ajax传JSON时设置的contenttype 如果是application/json或者text/json时,JAVA中request.getParameter("")是接收不到数据的。

因为在java后台会认为你传递的是一个纯文本流,而非键值对,是不能存入requestMap的。

可以把流读取出来转成json转成lsit或对象等,在Spring中使用@RequestBody注解

在SpringMVC环境中,@RequestBody接收的是一个Json对象的字符串,而不是一个Json对象。然而在ajax请求往往传的都是Json对象,用 JSON.stringify(data)的方式就能将对象变成字符串。同时ajax请求的时候也要指定dataType: "json",contentType:"application/json" 这样就可以轻易的将一个对象或者List传到Java端...

转载:https://www.cnblogs.com/fenglie/articles/5127969.html

原文地址:https://www.cnblogs.com/zxf330301/p/9119710.html

时间: 2024-12-19 01:37:47

ajax传JSON时设置的contenttype导致JAVA中request.getParameter("")怎么也接收不到数据的相关文章

ajax返回JSON时的处理方式

JSON中对象通过“{}”来标识,一个“{}”代表一个对象,如{“AreaId”:”123”},对象的值是键值对的形式(key:value). json_encode() 该函数主要用来将数组和对象,转换为json格式 json_encode (PHP 5 >= 5.2.0, PECL json >= 1.2.0) json_encode — 对变量进行 JSON 编码 Report a bug 说明 string json_encode ( mixed $value [, int $opti

ajax返回json时,js获取类型,是字符串类型

ajax向php服务端请求,并返回json串给前端. js发现得到的返回值的类型是字符串,不能直接取json对象属性,需要JSON.parse(). 怎么解决呢? 这需要在php返回json时,加上一个header(),告知js,我这个返回的是Content-Type是json.这样js获取的就是json对象类型了. header('Content-Type: application/json; charset=utf-8'); 当返回的是字符串类型时,有可能Content-Type:text/

OSS上传文件时设置请求头

直接上传: // 如果需要上传时设置存储类型与访问权限,请参考以下示例代码. // ObjectMetadata metadata = new ObjectMetadata(); // metadata.setHeader(OSSHeaders.OSS_STORAGE_CLASS, StorageClass.Standard.toString()); // metadata.setObjectAcl(CannedAccessControlList.Private); // putObjectRe

用ajax传JSON数据

/// <reference path="jquery-1.10.2.js" />$(function () { $("#btnLogin").click(function () { var qq = $.trim($("#txtQQ").val()); var pwd = $.trim($("#txtPwd").val()); if (qq == "" || pwd == "&quo

有效解决ajax传中文时,乱码的情况,php处理接收到的值

在抽奖环节时,需把获奖名单通过ajax的post方式传输给php后台进行储存,但是php接收到的值确是乱码.在百度之后并没有找到合适的解决方法. 则使用js的encodeURI函数可以有效解决,但不知为何需使用两次. 此时传输的值获取到的为: 则PHP使用urldecode函数处理获取到的值. 则有效解决ajax传输中文乱码的情况. 声明:本人菜鸟一枚,有不对之处还望指出. 原文地址:https://www.cnblogs.com/xin-1-php/p/10019558.html

如何分解json值设置到text文本框中

<td><input type="text" id="name11"></td> //4设置访问成功返回的操作 xhr.onreadystatechange=function(){ if(xhr.readyState==4){ if(xhr.status==200){ var txt=xhr.responseText; var maps=eval("("+txt+")"); /* docum

MVC去掉传参时的验证:从客户端中检测到有潜在危险的Request.QueryString值

解决方法:给Action添加属性[ValidateInput(false)]. 例: [ValidateInput(false)] public ActionResult Index(string org) { }

Java中request请求之 - 带文件上传的form表单

常用系统开发中总免不了显示图片,保存一些文件资料等操作. 这些操作的背后,就是程序员最熟悉的 enctype="multipart/form-data"类型的表单. 说起file类型的input,我们往往会遇到问题: 最为常见的就是编码格式-中文乱码.解决中文乱码最好的方式就是我们的项目全部使用 utf-8 格式的国际编码,因为它是可变字节长度的编码,对于占用2字节的中文绰绰有余了.另外就是使用 String s2 = new String(s1.getBytes(“ISO-8859-

spring mvc+ajax 实现json格式数据传递

使用ajax传递JSON对象 下面示例为ajax发送json对象,返回json格式数据 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 $.ajax({ url: "api/user", type: "POST", timeout: txnTimeOut, async: true, dataType: "json", data: {username : "lucy"}