有人能告诉我是什么原因导致$.ajax 'POST'请求导致完整的回发(整页刷新)吗?
我在ASP.NET MVC上下文中使用 $.ajax 'POST',其中视图通过 $.ajax 'POST' 请求调用控制器方法(返回 JSON 结果)。
代码如下。
// View.
<button id="save" onclick="saveClick()" />
// View.
<script type="text/javascript">
function saveClick() {
if (!$("form").valid()) {
return false;
}
$.ajax({
url: '@Url.Action(@MVC.Ticket.ActionNames.SaveTicket, @MVC.Ticket.Name)'
type: 'POST',
data: JSON.stringify(getJsonTicket()),
dataType: 'json',
contentType: "application/json",
cache: false,
success: function(data) {
alert(data.SaveResult);
}
});
return true;
}
function getJsonTicket() {
...
}
</script>
// Controller action.
public virtual JsonResult SaveTicket(Ticket newTicket)
{
try
{
TicketManager.SaveTicket(newTicket);
return Json(new CreateTicketViewModel {SaveResult = "success"});
}
catch
{
return Json(new CreateTicketViewModel { SaveResult = "error" });
}
}