Ajax传递特殊字符的数据如何解决
问题描述
如下,对含有特殊字符的text进行JSON封装,通过Ajax传递,
var data = {"Id": id, "text": text};
在后台无法进行数据接收。
解决方案
将
req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
换为:
req.setRequestHeader("Content-type",
"application/json; charset=utf-8");
后台接受数据:
//进行json数据的接收 StringBuilder sb = new StringBuilder(); BufferedReader br = request.getReader(); char[] buff = new char[10000]; int len; while((len = br.read(buff)) != -1){ sb.append(buff, 0, len); } String mess = sb.toString(); //将字符串转换为JSON对象 JSONObject jsonObject=new JSONObject(mess); //获取其中的值 jsonObject.getInt("Id"); //含有特殊字符的文本需要先进行转码 URLDecoder.decode(jsonObject.getString("text"), "UTF-8"));
这样就可以正确的进行文本的接收啦~
相关推荐
-
jQuery 实现ajax传入参数含有特殊字符的方法总结
在做ajax登录时候遇到的一个问题, 当传入参数含有特殊字符,比如:"$'#@"等.参数传递会有问题,无法正确获取. $.ajax({ url: '/user/login.ydd', type:'post', data:'name=abce&password=abcd&pwd', success: function(data){ } }) 我要传入的是用户名为:abc,密码为abcd&pwd的用户登录.但传入后台获取参数,会被password=abcd当作一个参
-
ajax传送参数含有特殊字符的快速解决方法
JQuery AJAX中遇到这样一个问题,参数中包含特殊字符,比如&'#@等, 这时执行AJAX的时候就会出问题,因为所传的参数变了.看个示例就明白: 方案一: $.ajax({ url: '/ashx/ajax.ashx', type: 'post', data: 'option=delete&name=11&adb, success: function (data) { if (data != 'error ') { } } }); ' 上面执行的ajax就是异步删除一个nam
-
AJAX在GB2312的中文编码传输 AJAX特殊字符编码正确方法
很多可能在转摘过程中失真或未经验证就被转摘,真正使用时却不行,也由此决定自己全方位试验一下,努力还是没有白费,虽然最终得出的结果是很简单的,但其过程对于一个新学AJAX的人来说,真是挺累.欢迎您在使用过程中对新的心得一起跟帖交流,一个思想+一个思想,至少可以产生两个思想. 一.在GET发送时: 方法1:在ASP服务器端用Response.charset="GB2312"界定输出编码给调用客户端 此时客户端不需要做什么转换即可.如下两个文件: 1.客户端JS 复制代码 代码如下: var
-
jquery与ajax获取特殊字符实例详解
jquery与ajax获取特殊字符 在用jquery加ajax写的时候,发现如果传进去的数据包含&则无法获取数据而+号的话就会被判定为空,解决办法就是使用encodeURIComponent()函数对要发送的数据进行编码. function ajax() { $val = encodeURIComponent($('#note').val()); $.ajax({ type: 'post', url: 'xxx.php', data: 'txt=' + $val, success: functi
-
jquery ajax对特殊字符进行转义防止js注入使用示例
在使用ajax进行留言的时候,出现了一个问题.因为留言内容写完之后,通过ajax提交内容,同时使用js把留言的内容添加到页面上来.浏览留言的时候也是通过ajax请求,然后再显示的.这样,如果有人在留言里写入了js语句,这结语句都会被执行.解决办法就是对这些特殊字符进行转义再显示出来.如果在jsp中使用jstl标签,就很简单了.直接使用<c:out value="${r.content}" />这样就行了,会自动进行转义,其中省略了参数escapeXML="true
-
Ajax传递特殊字符的数据如何解决
问题描述 如下,对含有特殊字符的text进行JSON封装,通过Ajax传递, var data = {"Id": id, "text": text}; 在后台无法进行数据接收. 解决方案 将 req.setRequestHeader("Content-Type", "application/x-www-form-urlencoded"); 换为: req.setRequestHeader("Content-type&
-
jQuery的Ajax时无响应数据的解决方法
复制代码 代码如下: $.ajax( { type: "POST", url: "/MemberComment.aspx/GetOrderToBeCommentCount", success: function(result) { //ToDo: } ) 使用时JS也没有报错.这个是我最郁闷的事了.不知道哪错.. 5分钟...10分钟....20分钟..... 从c#代码到浏览器一个个排查问题发现都OK. 最后问题的原因是改为如下就OK,少了2个属性: 复制代码 代
-
jQuery使用ajax传递json对象到服务端及contentType的用法示例
本文实例讲述了jQuery使用ajax传递json对象到服务端及contentType的用法.分享给大家供大家参考,具体如下: 0.一般情况下,通过键值对的方式将参数传递到服务端 0.1 客户端代码: $.ajax({ url: 'TestHandler.ashx', type: 'post', data: { name: "admin", age: 10 }, dataType: 'text', success: function (data) { alert(data); } })
-
如何利用jQuery post传递含特殊字符的数据
在jQuery中,我们通常利用$.ajax或$.post进行数据传递处理,但这里通常不能传递特殊字符,如:"<".本文就介绍如何传递这种含特殊字符的数据. 1.准备页面和控制端代码 页面代码如下: <script type="text/javascript"> $(function() { $("#btnSet").click(function() { var a = $("#txtValue").v
-
解决Ajax加载JSon数据中文乱码问题
一.问题描述 使用zTree的异步刷新父级菜单时,服务器返回中文乱码,但项目中使用了SpringMvc,已经对中文乱码处理,为什么还会出现呢? 此处为的异步请求的配置: Java代码 async: { enable: true, url: basePath + '/sysMenu/listSysMenu', autoParam: ["id=parentId"] } SpringMvc中文字符处理: Java代码 <mvc:annotation-driven> <mvc
-
ASP.Net WebAPI与Ajax进行跨域数据交互时Cookies数据的传递
前言 最近公司项目进行架构调整,由原来的三层架构改进升级到微服务架构(准确的说是服务化,还没完全做到微的程度,颗粒度没那么细),遵循RESTFull规范,使前后端完全分离,实现大前端思想.由于是初次尝试,中途也遇到了不少问题.今天就来讨论一下其中之一的问题,WebAPI与前端Ajax 进行跨域数据交互时,由于都在不同的二级域名下(一级域名相同),导致Cookies数据无法获取. 最开始通过头部(Header)将Cookies传输到其WebAPI,也能解决问题. 下面讲述另外一种解决方案. 解决过
-
用ajax传递json到前台中文出现问号乱码问题的解决办法
我使用的Springmvc,在controller层传输一个json到前台,后台显示没问题,中文正常显示而到了前台 中文就变成了问号. 后来发现,因为在controller中返回json用了@ResponseBody,而spring源码中@ResponseBody 的实现类发现其默认的编码是 iso-8859-1,而项目用的编码为utf-8,所以传中文会出现乱码. 这里我使用了注解来解决: @RequestMapping(value="/echarts.do", produces =
-
jQuery通过ajax方法获取json数据不执行success的原因及解决方法
1.jquery通过ajax方法获取json数据不执行success回调 问题描述:jquery通过ajax方法获取json数据不执行success回调方法 问题原因:json格式存在问题或不符合标准写法,导致总是执行error回调方法 解决方案:使json格式务必符合下述3个标准写法: 1)键名称:用双引号括起: 2)字符串:用双引号括起: 3)数字,布尔值不需要使用双引号括起 : 注意:一定是双括号! 2.jQuery中ajax使用json数据类型总是跳过success执行error语句 执
-
解决ajax跨域请求数据cookie丢失问题
前端: 以jquery为例: 需要加入 复制代码 代码如下: xhrFields: { withCredentials: true }, crossDomain: true, $.ajax({ type: postType, url: url, data: postData || '', xhrFields: { withCredentials: tru
-
escape函数解决js中ajax传递中文出现乱码问题
本文实例讲述了escape函数解决js中ajax传递中文出现乱码问题,分享给大家供大家参考.具体方法如下: 一.问题描述: 本来网页特效中的escape()是将中文按iso-8859-1字符集进行url编码的,那样通过 request.getparameter()是能直接获取到请求参数的,但后来的javascript将escape()换成了unicode字符集编 码,如此一来,在jsp教程和servlet中就没法直接拿到请求参数了,具体原因我也不知道. 二.解决办法: 1.首先对中文字符进行两次
随机推荐
- 存储于xml中需要的HTML转义代码
- 老生常谈angularjs中的$state.go
- 一个匹配重复字符正规表达式
- Java执行hadoop的基本操作实例代码
- C++实现图形界面时钟表盘代码
- PHP判断远程图片是否存在的几种方法
- PHP微信红包API接口
- Python中实现远程调用(RPC、RMI)简单例子
- ASP UTF-8编码生成静态网页的函数
- Jsp+Servlet实现购物车功能
- C#中winform使用相对路径读取文件的方法
- PHP几个数学计算的内部函数学习整理
- Shell中的变量使用小结
- 利用脚本自动安装SQLServer的实现步骤分析
- javascript中怎么做对象的类型判断
- 悬浮广告方法日常收集整理
- 布线120台电脑的网吧布线实战详解
- C#如何遍历Dictionary
- Yii框架实现的验证码、登录及退出功能示例
- python画出三角形外接圆和内切圆的方法