此处将为大家介绍关于如何利用jQuerypost传递含特殊字符的数据的详细内容,并且为您解答有关jquery传递参数的相关问题,此外,我们还将为您介绍关于Ajax传递特殊字符的数据如何解决、javas
此处将为大家介绍关于如何利用jQuery post传递含特殊字符的数据的详细内容,并且为您解答有关jquery传递参数的相关问题,此外,我们还将为您介绍关于Ajax传递特殊字符的数据如何解决、javascript – 如何使用jquery删除字符串中的后续符号/特殊字符¶、javascript – 如何使用jquery打印特殊字符?、jQuery ajax传入参数含有特殊字符的解决方法的有用信息。
本文目录一览:- 如何利用jQuery post传递含特殊字符的数据(jquery传递参数)
- Ajax传递特殊字符的数据如何解决
- javascript – 如何使用jquery删除字符串中的后续符号/特殊字符¶
- javascript – 如何使用jquery打印特殊字符?
- jQuery ajax传入参数含有特殊字符的解决方法
如何利用jQuery post传递含特殊字符的数据(jquery传递参数)
在jQuery中,我们通常利用$.ajax或$.post进行数据传递处理,但这里通常不能传递特殊字符,如:“<”。本文就介绍如何传递这种含特殊字符的数据。
1、准备页面和控制端代码
页面代码如下:
<script type="text/javascript"> $(function() { $("#btnSet").click(function() { var a = $("#txtValue").val(); var data = { Name: a }; alert(data); $.ajax({ url: '@Url.Action("MyTest")',type: 'post',dataType: 'json',data: data,}); }); } ); </script> <h2>Index</h2> <input type="text" id="txtValue"/><input type="button" value="设置" id="btnSet"/>
后台代码如下:
public ActionResult MyTest(StudentInfo stu) { return Content("OK"); }
其中StudentInfo定义如下:
public class StudentInfo { public string Name { get; set; } }
2、测试数据传递
当我们传递普通数据时,一切正常。
但当输入含特殊字符的数据时,不能正常传递到后台。
3、处理方法
如果确定要传递特殊字符,需要对jQuery代码作调整,调整后的请求代码如下:
<script type="text/javascript"> $(function() { $("#btnSet").click(function() { var a = $("#txtValue").val(); var data = JSON.stringify({ Name: a }); alert(data); $.ajax({ url: '@Url.Action("MyTest")',contentType: 'application/json' }); }); } ); </script>
调整的地方主要有两点:
对要传递的json数据作序列化JSON.stringify
在$.ajax请求中新增参数:contentType:'application/json'
好了,以上就是本文的全部所述,希望大家喜欢。
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,len); } String mess = sb.toString(); //将字符串转换为JSON对象 JSONObject jsonObject=new JSONObject(mess); //获取其中的值 jsonObject.getInt("Id"); //含有特殊字符的文本需要先进行转码 URLDecoder.decode(jsonObject.getString("text"),"UTF-8"));
这样就可以正确的进行文本的接收啦~
javascript – 如何使用jquery删除字符串中的后续符号/特殊字符¶
如何使用jquery删除字符串中的以下符号/特殊字符
¶
我在比较两个字符串时遇到问题.
当我计算差异时,上面提到的符号是追加的.
我也在我的本地应用程序中测试它
请查看下面的链接.
http://neil.fraser.name/software/diff_match_patch/svn/trunk/demos/demo_diff.html
解决方法:
var s = "This is a string that contains ¶, a special character.";
s = s.replace(/¶/g, "");
产量:
"This is a string that contains , a special character."
这将删除所有出现的角色.没有必要的jQuery – 只是vanilla浏览器提供的JavaScript.
其他一些细节可在https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/replace获得.
javascript – 如何使用jquery打印特殊字符?
<html lang="sk"> <head> <Meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> </head>
现在它按预期工作,但只有当我将这种文本硬编码到html文件中时.
一旦我使用jquery打印它们就会崩溃并且这些字符没有正确显示.
$("#myDiv").html("áž");
我应该在jquery中指定一些东西还是有另一种方法可以解决这个问题?
解决方法
试试样品,
$('body').html('Ξ');
DEMO
jQuery ajax传入参数含有特殊字符的解决方法
在做ajax登录时候遇到的一个问题,
当传入参数含有特殊字符,比如:“$''#@”等。参数传递会有问题,无法正确获取。
$.ajax({ url: ''/user/login.ydd'', type:''post'', data:''name=abce&password=abcd&pwd'', success: function(data){ } })
我要传入的是用户名为:abc,密码为abcd&pwd的用户登录。但传入后台获取参数,会被password=abcd当作一个参数传递,&这个特殊将pwd分开了作为另一个参数解析了。
解决方法,这时候就需要ajax另外一种传递参数的方式
$.ajax({ url: ''/user/login.ydd'', type:''post'', data:{''name'':''abce'',''password'':''abcd&pwd''}, success: function(data){ } })
今天的关于如何利用jQuery post传递含特殊字符的数据和jquery传递参数的分享已经结束,谢谢您的关注,如果想了解更多关于Ajax传递特殊字符的数据如何解决、javascript – 如何使用jquery删除字符串中的后续符号/特殊字符¶、javascript – 如何使用jquery打印特殊字符?、jQuery ajax传入参数含有特殊字符的解决方法的相关知识,请在本站进行查询。
本文标签: