前台: //循环得到jsondata数据
{
jsonline = "{\"Guid\":\"" + guid + "\",\"DLQty\":" + qty + "}";
if (jsondata == "") {
jsondata = jsonline;
}
else {
jsondata = jsondata + "," + jsonline;
}
}
//到这里jsondata数据为
{"Guid":"669F6217-227C-423E-A944-0B2B4FE4BE3F","DLQty":600},{"Guid":"DAD2C4AC-58A7-499C-B58B-60C2041AA8D8","DLQty":200} //ajax提交var url = '@Url.Action("Save")';
$.ajax({
url: url,
type: "post",
dataType: 'json',
data: jsondata,
success: function (data) {
alert(data.msg);
}
});
后台:
[HttpPost]
public ActionResult Save(string jsondata)
{ IList<viewmodel.item> items= new JavaScriptSerializer().Deserialize<IList<viewmodel.item>>(jsondata);
return Json(new { msg = "测试提示" });
}viewmodel.item实体类: public string Guid
{
get;
set;
} public decimal DLQty
{
get;
set;
}问题:
1.按上面的代码后台获取的jsondata为空
2.然后更改前台ajax提交 data: jsondata,为 data: 'jsondata:'+jsondata,后台提示错误:
无效的 JSON 基元: {"Guid":"669F6217-227C-423E-A944-0B2B4FE4BE3F","DLQty":600},{"Guid":"DAD2C4AC-58A7-499C-B58B-60C2041AA8D8","DLQty":200} 求解,后台action的接收应该是什么,该怎么修改。。
{
jsonline = "{\"Guid\":\"" + guid + "\",\"DLQty\":" + qty + "}";
if (jsondata == "") {
jsondata = jsonline;
}
else {
jsondata = jsondata + "," + jsonline;
}
}
//到这里jsondata数据为
{"Guid":"669F6217-227C-423E-A944-0B2B4FE4BE3F","DLQty":600},{"Guid":"DAD2C4AC-58A7-499C-B58B-60C2041AA8D8","DLQty":200} //ajax提交var url = '@Url.Action("Save")';
$.ajax({
url: url,
type: "post",
dataType: 'json',
data: jsondata,
success: function (data) {
alert(data.msg);
}
});
后台:
[HttpPost]
public ActionResult Save(string jsondata)
{ IList<viewmodel.item> items= new JavaScriptSerializer().Deserialize<IList<viewmodel.item>>(jsondata);
return Json(new { msg = "测试提示" });
}viewmodel.item实体类: public string Guid
{
get;
set;
} public decimal DLQty
{
get;
set;
}问题:
1.按上面的代码后台获取的jsondata为空
2.然后更改前台ajax提交 data: jsondata,为 data: 'jsondata:'+jsondata,后台提示错误:
无效的 JSON 基元: {"Guid":"669F6217-227C-423E-A944-0B2B4FE4BE3F","DLQty":600},{"Guid":"DAD2C4AC-58A7-499C-B58B-60C2041AA8D8","DLQty":200} 求解,后台action的接收应该是什么,该怎么修改。。
public ActionResult Save(viewmodel.item Item)
var url = '@Url.Action("Save")';
$.ajax({
url: url,
type: "post",
dataType: 'json',
data: 'jsondata:['+jsondata+']',
success: function (data) {
alert(data.msg);
}
});
$.ajax({
url: url,
type: "post",
dataType: 'json',
data: '{"jsondata":"['+jsondata+']"}',
success: function (data) {
alert(data.msg);
}
});再试一下
最后我改变了拼接的方式,直接用JQ数组操作,然后提交的时候: data: { jsondata: JSON.stringify(domains) },才可以