首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >有趣的难题: AngularJS应用挂在http 304上

有趣的难题: AngularJS应用挂在http 304上
EN

Stack Overflow用户
提问于 2013-11-06 02:24:04
回答 1查看 1.4K关注 0票数 0

我有一个应用程序是用PhoneGap + AngularJS (客户端)-- ExpressJS + MongoDB (服务器)构建的。该应用程序是托管在亚马逊EC2上的Ubuntu机器上。应用程序运行得很好,直到.

在EC2机器上,我做了一个:

代码语言:javascript
复制
sudo apt-get update

在我这样做后,我开始在我的应用程序中获得交叉原产地共享错误(查看Chrome中的控制台)。在我的AngularJS应用程序中,我有类似于抛出错误的代码:

代码语言:javascript
复制
$http.get('http://amazon.ec2.foo/offers').success(function(data) { });

错误是:

代码语言:javascript
复制
XMLHttprequest doesn’t allow Cross-Origin Resource Sharing on http://localhost:8000

因此,我更新了服务器应用程序如下:

代码语言:javascript
复制
app.all("/api/*", function(req, res, next) {
      res.header("Access-Control-Allow-Origin", "*");
      res.header("Access-Control-Allow-Headers", "Cache-Control, Pragma, Origin, Authorization, Content-Type, X-Requested-With");
      res.header("Access-Control-Allow-Methods", "GET, PUT, POST, OPTIONS");
      return next();
});

这在一开始似乎很好-我停止了获得交叉原产地错误,我可以看到响应从http请求在控制台。然而,我的应用程序会停止响应,似乎在将响应打印到控制台后立即挂起--我无法单击网页的任何部分,或打开开发人员控制台等。唯一的方法是关闭选项卡并重新打开它。Chrome的其他标签都很好。

在调试了一段时间之后,我发现(没有那些应用程序头)之前,我从服务器上得到了一个HTTP 200,但是现在我得到了一个HTTP 304 (而不是修改的),这似乎是一个错误。

我发现,在标签上等待大约2分钟会导致网页加载它从http请求收到的数据,但是网页仍然没有响应。

我已经确认了一些事情,可以将其缩小到AngularJS,在HTTP304上执行一些奇怪的操作:

  • 我使用相同的错误在本地主机上运行它-因此,它与EC2无关。
  • 我删除了mongodb,只发送一些简单的数据-所以,它与Mongo无关。
  • 我在Chrome中将它作为一个简单的服务器运行--因此,我已经消除了PhoneGap的问题。

以前有人见过这个吗?你知道问题可能是什么吗?我怎么能解决这个问题?

谢谢!

EN

回答 1

Stack Overflow用户

发布于 2014-02-13 12:28:52

角将304状态代码视为失败,以捕获304 (未经测试):

代码语言:javascript
复制
var prom = $http.get('http://amazon.ec2.foo/offers')
.catch(function(resp){
    if(resp.status !== 304){ $q.reject(resp) }
    return resp;   // response 
})
.catch(function(err){
    // handle or throw error
});

// Success responses and 304 responses are now available through the $http promise
prom.then( function(resp){ /* handle 200 and 304 response */ } );
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19802920

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档