【发布时间】:2021-07-21 10:36:27
【问题描述】:
我正在 ASP.NET MVC 框架中对 Action 进行 ajax 调用。在操作中,字符串 jsonModel 始终为空。我在这里错过了什么?你能帮忙吗?
仅供参考——我正在尝试保持操作的签名与我使用现有操作的签名相同。如果我们可以检查我们将 Json 数据发送到 Action 的方式以及为什么后续操作无法获取 Json 字符串,那就太好了。
Ajax 调用:
function send(SubmissionID, EntityOrganizationID) {
var user = $('#commentrecipients').val();
var comment = $('#Comment').val();
var scObj = {};
scObj["EntityOrganizationID"] = EntityOrganizationID;
scObj["SubmissionID"] = SubmissionID;
scObj["Comment"] = comment;
scObj["RecipientModels"] = user;
var jsonModel = JSON.stringify(scObj);
alert(jsonModel);
$.ajax({
url: "/Submission/SubmissionHeaderCommentAction",
dataType: "JSON", // "jsonp" is required for cross-domain requests; use "json" for same-domain requests
data: jsonModel,
async:false,
success: function (result) {
// notify the data source that the request succeeded
options.success(result);
},
error: function (result) {
// notify the data source that the request failed
options.error(result);
}
});
行动:
[AuditItem("SubmissionHeaderCommentAction")]
public ActionResult SubmissionHeaderCommentAction(string jsonModel) // jsonModel comes as null
{
//convert json to our poco model
dynamic data = JObject.Parse(jsonModel);
.........
return AdComplianceStatusResult(HttpStatusCode.OK, "Comment submitted successfully");
}
【问题讨论】:
-
这篇文章需要更多细节和清晰度
-
添加了更多信息。如果您还需要什么,请告诉我。
-
谢谢,我更新了我的答案。添加了您想要的代码。它已经过测试并且工作正常。
标签: c# jquery json ajax asp.net-mvc