【发布时间】:2012-05-03 08:48:25
【问题描述】:
html:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<head>
<title>TestGamePlay</title>
<link href="/Content/Site.css" rel="stylesheet" type="text/css" >
<script src="/Scripts/jquery-1.7.2.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery.unobtrusive-ajax.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery.validate.min.js" type="text/javascript"></script>
<script src="/Scripts/jquery.validate.unobtrusive.min.js" type="text/javascript"></script>
</head>
<body>
<div id="js1">
</div>
<span><a data-ajax="true" data-ajax-method="Post" data-ajax-mode="replace" data-ajax-update="#js1" href="/Kamikaze2/Start?cost=5&gameId=84cada66-c01b-419d-9df3-620663a1dc8d">5</a></span>
</body>
</html>
控制器:
[AjaxOnly]
public ContentResult Start(int cost, Guid gameId)
{
return new ContentResult() { Content = "Start game" };
}
仅 ajax 属性
public class AjaxOnlyAttribute : ActionFilterAttribute
{
public override void OnActionExecuting(ActionExecutingContext filterContext)
{
if (!filterContext.HttpContext.Request.IsAjaxRequest())
filterContext.HttpContext.Response.Redirect("/");
}
public override void OnActionExecuted(ActionExecutedContext filterContext)
{
}
}
在 mozile 中一切正常。歌剧(v. 11.62)我重定向到“/”
可能是什么原因
【问题讨论】:
-
您是否尝试在自定义操作过滤器的
OnActionExecuting方法中放置断点来验证发出的请求是否为 AJAX 请求? -
又如何理解请求是ajax?
-
我不知道,但也许你的问题与这个错误有共同之处:bugs.dojotoolkit.org/ticket/15096 ?
标签: jquery ajax asp.net-mvc opera