【发布时间】:2015-10-19 09:48:46
【问题描述】:
我有一个简单的 Asp.Net MVC 4 Chat 应用程序。
在初始化聊天会话下方,我要求用户输入姓名,一旦用户输入他的姓名(以及下面代码中未显示的其他详细信息)并按下 "Start Chat" 按钮,就会调用 Action 方法 ChatForm Chat 控制器。
聊天表单的代码sn-p如下所示:
@model WebSite.ViewModel.SimpleForm
using (Html.BeginForm("ChatForm", "Chat", FormMethod.Post, new { id = "anonymousChat" }))
{
<div class='form-group'>
@Html.LabelRequiredFor(m => m.Name)
@Html.TextBoxFor(m => m.Name, new { @class = "form-control" })
</div>
<input type="submit" class='btn btn-block start-anonymous-chat' value="Start Chat" />
}
ChatForm方法如下图:
public ActionResult ChatForm(SimpleForm model)
{
/*Some processing is done here and finally the below values are returned*/
return Json(new { success = true, chatId=chatRequest.Id, compId=company.Id });
}
现在的问题是在执行这个函数之后,我在浏览器上看到下面一行:
{"success":true,"chatId":10734,"compId":109}
点击提交按钮时执行的方法是:
$("#anonymousChat").submit(function () {
debugger;
if ($("#anonymousChat").valid())
$.ajax({
type: this.method,
url: this.action,
data: $(this).serialize(),
success: function (data) {
if (data.success) {
/*show the chat modal*/
chatModal.modal("show");
}
else {
console.log("failed");
$("#anon-chat-form").html(data);
}
}
});
return false;
});
此外,如果我尝试将任何警报消息或控制台消息放入方法 $("#anonymousChat").submit 中,则不会弹出更改,也不会弹出控制台消息或打印。
以前有没有人遇到过类似的问题?那你是怎么解决的?
提前致谢。
【问题讨论】:
-
很明显你的电话没有进入success方法。通过添加错误方法更新 ajax 调用,然后您可以捕获错误
-
@Optimus: 错误方法??
-
查看此链接,它显示了如何跟踪 ajax 错误..stackoverflow.com/questions/2833951/…
-
@Optimus,(过时的)
Ajax.BeginForm()方法与 pure MVC 有什么关系? -
尝试使用此功能代替您的提交
$(document).on('submit', '#anonymousChat', function (e) {});
标签: jquery asp.net asp.net-mvc asp.net-mvc-4