GET请求,Web服务将返回HTTP错误0
问题描述:
我测试this Web服务与resttesttest并得到同样的错误所有的时间:GET请求,Web服务将返回HTTP错误0
哦,不! Javascript返回了一个HTTP 0错误。此 可能发生的一个常见原因是,您请求的 服务器的跨域资源在 响应中未包含适当的CORS标头。最好打开你的萤火虫...
这是什么与URL或它只是我的无知?
如何从那里获取JSON数据?
更新。找到解决方案
有2个原因,为什么我的要求没有工作:
1)我已经从一个PDF文件,因为复制的URL,它有一些问题,编码,导致请求的URL在Punycode。
2)由于某种原因,resttesttest不想工作,即使有正确的网址,所以我再次检查了铬的Advanced REST client,这对我很有帮助。
答
您需要设置允许的标头,以获得跨源资源共享(wiki here)。如果您使用Node.JS,请检查如下内容:
res.setHeader('Access-Control-Allow-Origin', '*');
res.setHeader('Access-Control-Allow-Headers', 'Origin, Accept, Accept- Version, Content-Length, Content-MD5, Content-Type, Date, X-Api-Version, X-Response-Time, X-PINGOTHER, X-CSRF-Token,Authorization');
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE, PATCH, OPTIONS');
或者使用您的语言语法来设置响应标头。