get JSon.Stringify-Wert im controller übergeben durch Ajax
Habe ich die javascript-Funktion als:
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) {
}
});
}
Im controller habe ich einen code wie:
public JsonResult savePreObservationAnswers(IEnumerable<ArtifactsModel> objAllData)
{
return Json("");
}
Aber ich bin nicht immer Werte auf objAllData controller.
Ich bin sicher, in der javascript-Funktion, erhalte ich die richtigen Werte.
Wie kann ich dies tun?
Edit:
In ArtifactModel-Datei habe ich Eigenschaften wie:
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; }
Sie müssen nicht Stringify Ihre JSON-Objekt als Ihr controller ist möglicherweise schon espect JSON-Inhalt. JSON.stringify wird verwendet, um zu drucken JSON-Objekt in der javascript-Konsole. Nur einen Versuch geben, ohne diese Funktion
$.ajax({..., data : ArtifactsModel, ...
InformationsquelleAutor C Sharper | 2014-07-15
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie den content-type JSON und stringify das gesamte Objekt. Für den moment sind Sie mit einem "mixed-mode" - literal-Objekt/json, die ist nicht gültig :
werden sollte :
Schließlich so etwas wie :
InformationsquelleAutor NicoD