0
我一直试图让这个工作3个小时。即时通讯做一个jQuery的职位,但一些在线我做错了什么,但我没有得到什么。jquery post是否是ajaxrequest?
在我的方法我检查它是否ajaxrequest,如果它是我返回一个字符串消息基于结果。
[HttpPost]
public ActionResult PostJquery(ContactViewModel viewModel)
{
if (Request.IsAjaxRequest())
{
if (!string.IsNullOrEmpty(viewModel.Email))
{
return Content("success");
}
else
{
return Content("Fail");
}
}
else
{
return RedirectToAction("About");
}
}
我的jQuery和html看起来像这样。
<% using (Html.BeginForm())
{%>
<%: Html.TextBoxFor(model => model.Email) %>
<br />
<br />
<%: Html.TextBoxFor(model => model.Title) %><br />
<input type="submit" value="Save" id="button" />
<%} %>
<script src="<%= Url.Content("~/Scripts/jquery-1.5.2.js") %>" type="text/javascript"></script>
<script type="text/javascript">
$(document).ready(function() {
$('#button').click(function (e) {
$.post('/Home/PostJquery', { viewModel: $('form').serialize() }, function (data) { alert(data); });
});
});
</script>
它的作用是进入的方法和重定向到该网站有关,因为它不是一个ajaxrequest,如果我删除它,它会返回成功,但它带我到一个空白页与文本的成功writen。它不会在alert中触发成功。我可能做错了什么?我应该使用.post还是.ajax?
感谢乡亲输入
谢谢你,我尝试过函数(e),e.preventDefault();没有运气。我总是错过了文档中的返回错误。你拯救了我的一天Darin。 – 2011-04-16 17:24:10
您是如何指定正确的内容类型的?你能给我一个快速的例子吗? – 2011-04-16 17:26:24
@ Dejan.S,像这样:'return Content(“success”,“text/plain”);'或者如果您使用的是Json:'return Json(new {success = true}); – 2011-04-16 17:39:21