在jQuery中,我们通常利用$.ajax或$.post进行数据传递处理,但这里通常不能传递特殊字符,如:“<”。本文就介绍如何传递这种含特殊字符的数据。
1、准备页面和控制端代码
页面代码如下:
< type=\"text/ \">
$(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,
});
});
}
);
</ >
<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代码作调整,调整后的请求代码如下:
< type=\"text/ \">
$(function() {
$(\"#btnSet\").click(function() {
var a = $(\"#txtValue\").val();
var data = JSON.stringify({ Name: a });
alert(data);
$.ajax({
url: \'@Url.Action(\"MyTest\")\',
type: \'post\',
dataType: \'json\',
data: data,
contentType: \'application/json\'
});
});
}
);
</ >
调整的地方主要有两点:
对要传递的json数据作序列化JSON.stringify
在$.ajax请求中新增参数:contentType:'application/json'
继续阅读与本文标签相同的文章
下一篇 :
为什么云端会不断泄漏数据?
-
他让我国芯片研究停滞13年,还骗走11亿研发资金,现状如何?
2026-05-14栏目: 教程
-
健乐教学机器人可开展的教学实训内容
2026-05-14栏目: 教程
-
5G套餐曝光遭“吐槽”,iphone11受追捧,导致苹果11销量比较高
2026-05-14栏目: 教程
-
为什么修电脑的叫自己不要杀毒和清理垃圾?
2026-05-14栏目: 教程
-
当水乡建筑遇上机器人,成就乌镇又一网红景点
2026-05-14栏目: 教程
