900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > mvc ajax验证登录页面 MVC 4 jquery Ajax调用返回登录页面html

mvc ajax验证登录页面 MVC 4 jquery Ajax调用返回登录页面html

时间:2023-11-12 04:46:30

相关推荐

mvc ajax验证登录页面 MVC 4 jquery Ajax调用返回登录页面html

我有一个MVC 4应用程序,AccountController正在使用Authorize属性。当用户在登录页面上时,有一个Teller发布日期在他们登录后使用。我试图捕获名称字段上的更改事件,该字段工作正常,并且触发Jquery函数以获取发行日期。

这里是JQuery的阿贾克斯功能:

function update_issue_date() {

var userName = $('#UserName').val();

$.ajax({

type: 'GET',

url: '/Account/GetIssueDate',

async: true,

data:

{

userName: userName

},

success: function(data) {

$('#IssueDate').val(__format_date_for(new Date(data.issueDate)));

}

});

在的AccountController我有如下因素作用:

[AllowAnonymous]

public ActionResult GetIssueDate(string userName)

{

var issueDate = DateTime.Now.Date;

if (userName.Length > 0)

{

var user = userRepo.GetUser(userName);

//var user = user_repository.get_all().FirstOrDefault(x => x.user_name == userName);

var currentDate = DateTime.Now.Date;

issueDate = (user == null || user.IssueDate < currentDate) ? currentDate : user.IssueDate;

}

return Json(new { issueDate = issueDate.ToShortDateString() }, JsonRequestBehavior.AllowGet);

}

这是会发生什么,如果我有在网络禁用授权的东西。 config,那么这个函数按原样返回正确的发布日期。但是,如果我已启用Authorize事件,那么GetIssueDate Action似乎不会被解雇。我得到了登录页面的HTML。

我觉得即使我在这个Action上有[AllowAnonymous]属性,应用程序在从Jquery函数中调用时似乎忽略了这一点,并且不允许它触发。

有没有办法解决这个问题,或者是另一种方法来做我想做的事情?

谢谢。

+0

欢迎StackOverflow上。如果答案解决了您的问题,[您可以接受此答案](/a/5235/170863)。然后,您也可以用灰色向上箭头向上投票一个或多个答案。 –

-07-26 23:18:07

+0

您应该不必* AllowAnonymous *才能使Ajax调用正常工作。如果会话已建立,会话cookie将与请求一起发送(您*使用会话cookie?)。 –

-07-26 23:26:15

+0

我知道我使用cookie做的唯一事情是在登录时使用FormsAuthentication.SetAuthCookie,但用户在这一点上并未真正登录。你必须原谅我,在这个Web编程方面还是一个新鲜事。 –

-07-26 23:28:35

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。