gpt4 book ai didi

asp.net-mvc - JQuery Ajax Post - 操作返回部分 View 但未成功或显示

转载 作者:行者123 更新时间:2023-12-02 17:08:38 39 4
gpt4 key购买 nike

我正在按如下方式调用 Controller 操作:

$j.ajax({
url: url,
type: "post",
data: JSON.stringify(commentParam),
dataType: 'json',
contentType: "application/json; charset=utf-8",
success: function (data, status, jqxhr) {
$j('#' + commentsCtrlId + ' ul').prepend(data);
commentField.val('');
},
failure: function () {
alert("Error adding comment");
}
});

Action 的样子:

    [HttpPost]
public ActionResult Create(string commentBody, int parentObjectId, string parentObjectType, int actionId = 0)
{
try
{

// code to check security and pass info to the database. A comment model object is then passed back to the partial view

return PartialView("_Comment", comment);
}
catch (Exception ex)
{
Logger.Instance.LogError("Error in CommentController Create", ex);
return View("Error");
}
}

我可以打破这个方法,数据就可以传递到数据库了。

我可以在局部 View 上打断点,这样可以看到数据在那里正常传递,但是当我返回我的 ajax 调用时,它永远不会得到响应(无论是成功还是失败)!我在任何地方都没有收到任何错误,而且绝对没有任何事情可以继续。请问有人对我至少可以尝试调试这里发生的事情有什么建议吗?

最佳答案

您的方法返回一个 View (html),因此您需要将 dataType 选项更改为 'html'

$j.ajax({
url: url,
type: "post",
data: JSON.stringify(commentParam),
dataType: 'html', // modify
contentType: "application/json; charset=utf-8",
success: function (data, status, jqxhr) {

另请注意,您的方法应在 catch block 中返回一个 PartialView(就像您对 try block 所做的那样)

catch (Exception ex)
{
Logger.Instance.LogError("Error in CommentController Create", ex);
return PartialView("Error"); // modify
}

关于asp.net-mvc - JQuery Ajax Post - 操作返回部分 View 但未成功或显示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50463355/

39 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com