Mar*_*rco 6 javascript redirect angularjs
在AngularJS应用程序中,我对服务器URL进行$ http.post调用.这个url的成功响应是30x Redirect,我的问题是$ http.post严格遵循此重定向并在成功回调中返回最终调用的结果.我想拦截此重定向并手动将用户(更改浏览器URL)重定向到最终页面.有可能吗?
根据文档,该$http
服务是一个核心Angular服务,它通过浏览器的XMLHttpRequest对象或通过JSONP促进与远程HTTP服务器的通信.
知道了,并且知道XMLHttpRequest的规范,可能无法拦截重定向.
如果响应的HTTP状态代码为301,302,303,307或308
如果重定向违反了无限循环预防措施,则表示网络错误.
否则,请运行以下步骤:
将请求URL设置为Location头传达的URL.
如果源源和请求URL的来源是相同的源,则在观察同源请求事件规则时透明地遵循重定向.
否则,请遵循跨源请求步骤并终止此算法的步骤.
HTTP在重定向期间向用户代理提出关于保留请求方法和请求实体主体的要求,并且还要求最终用户被通知某些类型的自动重定向.
所以重定向发生在Angular可以对它做任何事情之前很久就会发生,并且无法停止.
另一种选择是对$http
您自己的服务器进行调用,然后使用类似cURL serverside(取决于使用的服务器语言),可以将其设置为不遵循重定向,以获取资源.
归档时间: |
|
查看次数: |
5147 次 |
最近记录: |