Javascript 在AJAX调用中处理身份验证
我正在控制器中使用以下代码Javascript 在AJAX调用中处理身份验证,javascript,asp.net-mvc,Javascript,Asp.net Mvc,我正在控制器中使用以下代码 [HttpPost] public ActionResult SearchResultsAll(string keyword) { System.Threading.Thread.Sleep(1000); string data = "Search results for " + keyword; return Json(data, JsonRequestBehavior.AllowGet); } 并尝试如下所示的AJAX调用 $.ajax({ url: "/
[HttpPost]
public ActionResult SearchResultsAll(string keyword)
{
System.Threading.Thread.Sleep(1000);
string data = "Search results for " + keyword;
return Json(data, JsonRequestBehavior.AllowGet);
}
并尝试如下所示的AJAX调用
$.ajax({
url: "/Home/SearchResultsAll",
type: 'POST',
data: {
keyword: searchString
},
success: function (data) {
console.log(data);
},
error: function (jqXHR) {
console.log("ERROR");},
complete: function (jqXHR, status) {
console.log("DONE");
}
});
我没有取回字符串,而是为我的登录
页面获取HTML代码-是,身份验证在我的HomeController上处于活动状态
如何在AJAX调用中解决这个问题?全局应用授权的问题是,您必须先登录(授权),然后才能登录或注册
[HttpPost]
[AllowAnonymous]
public ActionResult SearchResultsAll(string keyword)
{
System.Threading.Thread.Sleep(1000);
string data = "Search results for " + keyword;
return Json(data, JsonRequestBehavior.AllowGet);
}
AllowAnonymous
属性,帮助您保护整个ASP.NET MVC 4网站或控制器,同时提供方便的方法,允许匿名用户访问某些控制器操作,如登录和注册操作使用AllowAnonymous属性
(即[AllowAnonymous]
)如果您想允许匿名用户使用搜索表单。或者,如果SearchResultsAll()
确实需要授权,那么呈现该页面的GET也应该有一个[Authorize]
attributeCheers,它起作用了-我认为使用[AllowAnonymous]
for search可以,因为它只返回基于用户ID的结果