2014-09-30 60 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]。乾杯!