得到JSon.通过Ajax传入控制器中的字符串化值
get JSon.Stringify value in controller passed through Ajax
我有一个javascript函数为:
function savePreObservationQuestionAnswers()
{
var lvPreObservationQuestionAnswers = $("#lvPreObservationQuestionAnswers").data("kendoListView");
var data = lvPreObservationQuestionAnswers.dataSource.data();
var preObservationAnswers = new Array();
var totalNumber = data.length;
var ArtifactsModel = [];
for (var i = 0; i < totalNumber; i++) {
var currentDataItem = data[i];
var myjson = [];
var preObservationAnswers = {};
preObservationAnswers["EH_PP_OBSRVNFRM_QSTN_ID"] = currentDataItem.EH_PP_OBSRVNFRM_QSTN_ID;
preObservationAnswers["EH_PP_OBSRVNFRM_QSTN_ANSWR_TXT"] = currentDataItem.EH_PP_OBSRVNFRM_QSTN_ANSWR_TXT;
myjson.push(preObservationAnswers);
ArtifactsModel.push(myjson);
//preObservationAnswers.push(currentDataItem.EH_PP_OBSRVNFRM_QSTN_ID, $('#txtanswer_' + currentDataItem.EH_PP_OBSRVNFRM_QSTN_ID).val());
//lstArtifactsModel.push(ArtifactsModel);
}
alert(ArtifactsModel);
$.ajax({
type: "post",
url: "/PP/savePreObservationAnswers",
data: {
objAllData: JSON.stringify(ArtifactsModel)
},
cache: false,
success: function (data) {
}
});
}
在控制器中,我有这样的代码:
public JsonResult savePreObservationAnswers(IEnumerable<ArtifactsModel> objAllData)
{
return Json("");
}
但是我没有在控制器上获得objAllData的值。
我确信在javascript函数中我得到了正确的值。
我该怎么做?
编辑:在ArtifactModel文件中,我有如下属性:
public int EH_PP_OBSRVNFRM_QSTN_ANSWR_ID { get; set; }
public string EH_PP_OBSRVNFRM_QSTN_ANSWR_TXT { get; set; }
public int EH_PP_ObservationID { get; set; }
public int EH_PP_OBSRVFRM_QSTIN_SectionID { get; set; }
public int EH_PP_OBSRVNFRM_QSTN_ID { get; set; }
public string EH_PP_OBSRVFRM_QSTIN_SectionTitle { get; set; }
public string EH_PP_OBSRVNFRM_QSTN_TXT { get; set; }
public int EH_PP_OBSRVNFRM_QSTN_DSPSEQ { get; set; }
必须将内容类型指定为JSON并对整个对象进行字符串化。目前,您使用的是"混合模式"文字对象/json,这是无效的:
data: {objAllData: JSON.stringify(ArtifactsModel) }
应为:
data: JSON.stringify({ objAllData: ArtifactsModel })
最后是:
$.ajax({
type: "post",
contentType: 'application/json; charset=utf-8',
url: "/PP/savePreObservationAnswers",
data: JSON.stringify({ objAllData: ArtifactsModel }),
cache: false,
success: function (data) {
}
});
相关文章:
- AngularJs将查询字符串发布到c#控制器
- 使用ajax将字符串数组传递给mvc控制器
- 在模板中以字符串形式动态插入ng控制器
- 如何获取逗号delimated(拆分)字符串值并将其传递给控制器
- 将字符串参数从 JS 视图传递到控制器
- 如何在 ajax 调用中接受来自控制器的字符串返回
- 按钮单击事件未将输入字符串传递给 MVC 控制器方法
- 将日期字符串从C#控制器传递给Javascript函数会改变字符串
- MVC控制器'发布JSON数据时,s字符串[]参数为null
- 在Angular控制器中将rails日期时间更改为字符串
- 如何通过Ajax JSon将带有重音的字符串从控制器返回到View
- ajax向控制器发布一个字符串数组
- 自动完成文本框中逗号分隔的多个值.我想用List<字符串>在控制器类中可用
- 在angularjs控制器中从json中获取字符串数组
- 将字符串列表传递到 mvc 3 剃刀中的控制器
- 如何从jsp页面发送json字符串到Spring mvc控制器
- 为什么不能从ui-bootstrap模态控制器中绑定$scope字符串值?
- 不能用JavaScript向控制器传递数组和字符串
- 列表从GSP发送到控制器时是一个字符串
- 构造并传递JavaScript字符串列表给ASP.. NET MVC控制器动作(不使用ajax)