MVC3 - 登录页面上的 ajax 在未经授权的用户试用后不起作用,但可以正常工作

本文关键字:但可以 不起作用 工作 常工作 用户 登录 ajax 授权 MVC3 | 更新日期: 2023-09-27 18:34:15

我在asp .net上做了一个MVC3项目,其中用户登录是使用ajax的。它正常工作,用户可以在ajax表单身份验证(登录按钮触发ajax帖子)后使用用户的用户名和传递信息访问授权页面。

但是,如果用户试图通过写入直接地址(如:"http://localhost:12799/Anasayfa/Index")进入这个未经授权的页面到地址栏并在身份验证之前点击回车键,他会撞到授权墙并返回,并且在浏览器的地址栏中出现一个像"http://localhost:12799/Giris/Index?ReturnUrl=%2fAnasayfa%2fIndex"这样的 url,在这种情况下,当用户尝试正常登录时,ajax 登录不起作用,登录按钮无法触发 ajax post。

MVC3 - 登录页面上的 ajax 在未经授权的用户试用后不起作用,但可以正常工作

我找到了解决方案,

我的 ajax 函数是这样的:$.post('Giris/GirisGecerliMi', kullanici, girisAjaxReturn);

当地址栏http://localhost:12799它适用于 true URL。但是在地址栏写http://localhost:12799/Giris/Index?ReturnUrl=%2fAnasayfa%2fIndex之后,ajax 试图去一个错误的网址。

经过一番搜索,我看到了我的错误,我应该写成:$.post('/Giris/GirisGecerliMi', kullanici, girisAjaxReturn);只有"/"差异解决了问题。很抱歉占用您的时间。