【问题标题】:AJAX Auth required - what status code to use?需要 AJAX 身份验证 - 使用什么状态码?
【发布时间】:2014-06-22 19:54:10
【问题描述】:

每当公共用户尝试访问安全资源时,我的 MVC 应用程序中的模型和控制器都会引发 LoginRequired 异常。我正在监听调度错误,当我检测到一个是 LoginRequired 异常时,我会构造并返回一个自定义响应。

如果请求是一个普通的 HTTP 请求,事情很简单——我返回一个 302 重定向,而“位置”就是登录页面。但是当请求是 AJAX 时呢?

我在这里阅读了How to manage a redirect request after a jQuery Ajax call 关于设置响应标头然后在全局ajax 成功处理程序中查找它的信息。我可以这样做没有问题,但肯定应该有一个 HTTP 状态码来处理这个问题?

什么是好的代码选择?我需要一个在语义上相当合适的,但不会自动调用用户代理上的任何行为。

【问题讨论】:

  • 所以你的意思是你可以通过 ie 传递你的内容。 json 表单 {'status':'login required','content':'--- (nothing cause the user id not authed) ---'} 但你说你想要一些 http 状态或 http 标头对吗?但为什么呢?
  • 我只是以为这种场景会有http状态。

标签: jquery ajax redirect


【解决方案1】:

你知道我不是这方面的专家,但是当我想进行可恢复下载时,我添加了一些标头,您可以使用 ajax 发送服装请求标头,还可以使用 PHP 发送一些响应标头并获取它们用ajax(任何东西)。但我认为,当标头对双方都有一些影响或标头中的标志或 ajax 响应正文中的标志没有区别时,标头很有用。

还有一些标头会在不同的浏览器上导致不同的行为,并且当您发送请求(ajax 或 raw ,...)时,浏览器会发送不同的标头(只是在一些特殊的小事情中)

即。 {'someFlallg':'ok','view':' --- content body --- '}

希望对你有帮助。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-12-24
    • 2011-09-29
    • 2017-08-27
    • 1970-01-01
    • 2014-02-16
    • 2018-03-05
    • 1970-01-01
    相关资源
    最近更新 更多