【发布时间】:2016-11-26 19:53:41
【问题描述】:
我有一个需要通过 Ajax 回发的应用程序。拨打ActionMethod 时遇到问题。下面是代码。
控制器:
[HttpGet]
public ActionResult Index()
{
return View();
}
public JsonResult AjaxTest(object name)
{
return Json("Welcome" + name, JsonRequestBehavior.AllowGet);
}
Cstml:
<form name="frmTest" method="POST">
@Html.Label("Your name Please")
@Html.TextBox("username")
<input class="btn btn-success btn-lg btn-block" type="submit" value="Login">
jQuery :
$(function () {
$("form[name='frmTest']").submit(function (e) {
var name = $('#username').val();
$.ajax(
{
type: "POST",
//contentType: "application/json; charset=utf-8",
url: "MyTest/AjaxTest",
dataType: "json",
data: { name:name },
success: function (data, status) {
alert("Pass"+data);
},
error: function () {
alert("Fail");
}
});
});
});
通过使用上面的代码断点命中AjaxTest的参数。当我使用contentType: "application/json; charset=utf-8", 时,页面回发而不打断点。
但是这两种情况我都收到了失败警报。找不到问题,
【问题讨论】:
-
请问你为什么要一路到服务器上简单地在名字中加上“欢迎”?
-
您在发送一些 ajax 时尝试提交表单,我认为这是一个或另一个,而不是同时。
-
@CodingYoshi thnx,这是我的主应用的演示应用
-
@JorgeF thnx,在 AjaxTest 中我想将数据插入数据库,那么最好的方法是什么。
-
@JorgeF 事件处理程序发生在实际提交表单之前,因此可以这样做。
标签: c# jquery ajax asp.net-mvc