0

访问由服务器重定向的 $resource 时遇到问题(带有 301 响应代码):请求被取消并失败。

我可以在两种情况下观察到这种行为:

  • $resource 在执行 POST 时删除尾部斜杠(调用 ws/transaction,服务器重定向到 ws/transaction/)

  • 在进行 e2e 测试时:业力代理重定向我的 REST 调用并且请求失败。如果我在浏览器地址栏中输入 URL (localhost:9876/ws/transaction),我可以看到正确的结果,浏览器会跟随重定向。请注意,在这种情况下,所有其他请求(针对静态内容)都会正确成功...

所以我想知道什么行为会阻止 $resource 在我的场景中遵循重定向......

谢谢!

4

1 回答 1

0

问题不在 AngularJS 端,而是在服务器端。

Apache 在 URL 中附加斜杠并进行重定向。

不得不调整我的 .htacess 文件:

DirectorySlash Off
RewriteRule ^(.+[^/])$ /angular/ws/index.php?type=$1&id= [QSA,L]

其中 index.php 是一个快速而肮脏的脚本,用于模仿 RESTful 服务器。

现在一切正常!

于 2013-05-24T07:39:35.033 回答