ajax使用json数据格式提交
一开始这么写的
var flobj = {
UserId: userid,
ForbidSDT: ForbidSDT,
ForbidEDT: ForbidEDT
}
$.ajax({
type: "POST",
url: "/Limit/Forbid",
contentType: "application/json", //必须有
dataType: "json", //表示返回值类型,不必须
data: { Types: chk_value, fl: flobj, remark: remark, tip: tip },
success: function (jsonResult) {
if (jsonResult.Code == 1)
{
alert("添加成功");
$(target).parent().parent().find("input").attr("disabled", true);
} else {
alert("添加失败");
}
}
});
提交的数据格式:
这种会报错误:
无效的 JSON 基元: Types
改为了:
var flobj = {
UserId: userid,
ForbidSDT: ForbidSDT,
ForbidEDT: ForbidEDT
}
$.ajax({
type: "POST",
url: "/Limit/Forbid",
contentType: "application/json", //必须有
dataType: "json", //表示返回值类型,不必须
data: JSON.stringify({ Types: chk_value, fl: flobj, remark: remark, tip: tip }),
success: function (jsonResult) {
if (jsonResult.Code == 1)
{
alert("添加成功");
$(target).parent().parent().find("input").attr("disabled", true);
} else {
alert("添加失败");
}
}
});
提交的数据格式:
记录:
data必须是一个“表示JSON对象的字符串”,而不是一个“JSON”对象
原因是jquery会把JSON对象序列化成标准POST的形式,ASP.NET WebService需要的是JSON格式的数据,所以必须把你的数据变成一个JSON样子的字符串