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样子的字符串