ajax post提交特殊字符,如何利用jQuery ajax post传递含特殊字符的数据

在jQuery中使用$.ajax或$.post时,若需传递包含特殊字符的数据,可能遇到问题。通过JSON.stringify将数据序列化,并在$.ajax请求中添加contentType参数为'application/json',可以确保特殊字符正常传递。例如,调整后的jQuery代码示例展示了如何正确传递含有特殊字符的JSON数据到后台。
摘要由CSDN通过智能技术生成

在jQuery中,我们通常利用$.ajax或$.post进行数据传递处理,但这里通常不能传递特殊字符,如:“

1、准备页面和控制端代码

页面代码如下:

$(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,

});

});

}

);

Index

后台代码如下:

public ActionResult MyTest(StudentInfo stu)

{

return Content("OK");

}

其中StudentInfo定义如下:

public class StudentInfo

{

public string Name { get; set; }

}

2、测试数据传递

当我们传递普通数据时,一切正常。

但当输入含特殊字符的数据时,不能正常传递到后台。

3、处理方法

如果确定要传递特殊字符,需要对jQuery代码作调整,调整后的请求代码如下:

$(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'

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值