gpt4 book ai didi

jquery - Ajax.BeginForm 不调用 onSuccess

转载 作者:行者123 更新时间:2023-12-03 22:54:03 27 4
gpt4 key购买 nike

在 ASP.NET MVC 3 应用程序中,我使用 Ajax.BeginForm 将写入的文本发布到 Controller 。

@using (Ajax.BeginForm("Post", "Forum", new {threadId = Model.Thread.Id  }, new AjaxOptions { OnSuccess = "PostReply" }))
{
<div id="reply-area">
<h3 style="border-bottom:1px solid black">POST REPLY</h3>

<span id="post-error" class="error-message"></span>
<textarea rows="1" cols="1" id="post-textarea" name="Content"> </textarea>

<input type="submit" class="button" value="Submit"/>

</div>
}

在 Controller 中我有

 [HttpPost]
public ActionResult Post(int threadId,PostModel model)
{
bool Success = false;
if (ModelState.IsValid)
{
Success=Unit.ForumFacade.CreatePost(Unit.ForumFacade.GetThreadByID(threadId), model.Content, CurrentUserId);
if (Success == true) return View("PostSuccess");
}

return Json("fsdfds");
}

在 javascript 中我有这个

function PostReply(isRequestSuccessed) {
alert("asdasd");
if (isRequestSuccessed==false) {
$("#post-error").html("Please Try Again");
}
else
{
$("#post-error").html("");
}
}

问题是 Javascript 的函数没有触发并且没有发出警报,我的浏览器(Firefox)返回弹出窗口以下载 application/json 文件。这里出了什么问题?

最佳答案

确保您已将以下脚本添加到您的页面中:

<script src="@Url.Content("~/Scripts/jquery.unobtrusive-ajax.js")" type="text/javascript"></script>

并且您已在 web.config 中启用了不显眼的 javascript:

<add key="UnobtrusiveJavaScriptEnabled" value="true" />

这就是 Ajax.* 帮助器(例如 Ajax.BeginForm)发挥作用的原因。

关于jquery - Ajax.BeginForm 不调用 onSuccess,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7281290/

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