问题 EXCEPTION:状态响应:URL为0:angular2中为null


当我尝试使用anguar2 http连接到远程API时,我得到了以下异常。我的Web服务器也正在接收请求并正确响应。

我能够向本地服务器发出成功的curl请求。

EXCEPTION: Response with status: 0 for URL: null

service.ts

getAllProducts(): Observable<string> {
      return this.http.get(this.productUrl)
      .map(this.extractData)
}

private extractData(res: Response) {
    let body = res.json();
    console.log(body)
    return body.data || { };
}

8000
2017-07-09 20:51


起源

不确定,但尝试这样做,如果它的工作..张> Observable<string> to Observable<any> 和 return body.data|| {} to return body||{} - micronyks
没有运气,仍然得到同样的例外。我相信这与我从服务器获得的响应有关 - Asif


答案:


我在MEAN2应用程序中遇到了同样的错误。我所要做的就是安装 CORS 中间件并与express一起使用。


4
2017-11-18 12:56



安装相同的错误并使用cors中间件,没有运气,你能举例说明吗? - blackHawk
得到同样的错误?您应该使用您的代码发布一个新问题。 - steady_daddy
已发布的问题,看看 stackoverflow.com/questions/41144243/... - blackHawk
@blackHawk链接已经死了 - Moritz Schmidt
它的旧,我可能删除,在这种情况下,我使用了错误的网址,这就是为什么我得到这个问题 - blackHawk


服务器不可用的问题,可能是CORS或服务器崩溃了。


4
2018-04-08 14:07



考虑到8个月前提出的问题并且已经接受了答案,这不是一个特别有用的答案。 - Claies
@Claies,虽然它有一个公认的答案,但这个问题更为通用!并且接受的答案可能无法解决每个访问用户的问题。 - Ashish Ranjan
@AshishRanjan也许,但这不提供答案或任何可行的解决方案。这是一个理论,充其量只是一个评论。 - Claies
同意,应该是评论。 - Ashish Ranjan
他没有提供后端技术 - Kenadet


希望这会对某人有所帮助。

问题在于资源定义。当我尝试使用angular2连接到远程资源时 http.get,我得到了以下错误

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at …

固定:

因为我正在使用 flask-restful 为了构建远程API,下面的修复解决了我的问题

from flask_restful.utils import cors
from flask_restful import Api

api = Api(app, decorators=[cors.crossdomain(origin='*')])

完整的源代码将在这里提供: 库存管理


2
2017-07-10 11:08



'Api'在哪里?我应该导入哪些图书馆? - jeongmin.cha
你需要像这样从flask-restful包中导入它 from flask_restful import Api,您可以在这里查看完整的源代码 github.com/asifpy/inventory-manager - Asif
Buddy,你有问题说你正试图访问你自己的服务器,但没有成功你使用cors,为什么?您是否实现了在自己的服务器上阻止跨源请求?伙计我用快递制作了我自己的服务器api(卑鄙的应用程序)但得到同样的错误,没有运气 - blackHawk