2014-09-30 54 views
0

我需要为我正在构建的应用程序使用API​​,但API不允许使用CORS,如何在不使用XHR的情况下向网站发出GET和POST请求。我一直在看websockets和socket.io,但它似乎并不像我可以使用它们发出http请求。nodejs http请求的XHR替代方案

我的另一个解决方案是使用PHP或curl创建请求,但我觉得这不是一个好主意。

编辑:更多信息

我想使用这个API是https://bitcoinindex.es/api

我要抢列出的交易价格并列出从最大到最小。

我用AngularJS在此进行第一API请求是我的代码

$http.get("https://bitcoinindex.es/api/v0.1/coinbase/usd/btc/last").success (JSON) 
+0

你有更多的信息吗?哪个api你想使用?你想要建立什么? – user934801 2014-09-30 01:29:43

+0

已添加更多信息 – grasshopper 2014-09-30 01:34:04

+1

为什么标记为“node.js”?从一个节点服务器,你可以做出你想要的所有请求,而不需要关心CORS。 – Bergi 2014-09-30 01:58:25

回答

0

如果你想使用一些的NodeJS模块像Request可以帮你做的从服务器端有一定的要求。

0

作为一个PHP开发人员,从传统的LAMP堆栈转向angularJS和nodejs,我做了一些假设,这是错误的。

所有的HTTP请求一致

当然现在我知道有GET,POST,PUT和但我认为一个GET请求全线一样,这是不正确的。传统的请求是使用库等服务器的应用程序的后端进行的,例如curl。这些http请求在网页加载之前完成。

由于AngularJS请求是从前端完成的,也就是说在网页加载完成后发出请求。这被称为XHR并且受到所有现代浏览器的支持,XHR的事情是它可以让用户数据易受攻击,因此只有在请求发送到同一服务器上的某个位置时才会起作用。如果您向另一台服务器发出请求,则需要启用CORS服务器响应来自并且可以通过访问控制允许来源标头进行配置。

是的NodeJS某种类型的前端嬉皮士代码

从PHP再来我不明白,是的NodeJS的实际的服务器就像一个Apache服务器,并且可以使所提到的传统的请求在第一部分。

制作要求

制作要求的NodeJS是很简单的用的NodeJS request库。

var request = require('request'); 
request('http://www.google.com', function (error, response, body) { 
    if (!error && response.statusCode == 200) { 
    console.log(body) // Print the google web page. 
    } 
}) 
0

bitcoindex.es的创建者在这里。我们使用其他帖子中提到的NodeJS和Request库。如果您有任何问题,请随时给我发电子邮件[email protected]。干杯!