2016-04-26 82 views
0

我有一個角度js的$ http.put的問題:我有一個服務器節點js和我的應用程序在角度js和我做一些請求與角js訪問節點js服務器(同一主機)上的數據。

這項工作:

$http.put("/fraisforfait", elements); 

但是,這並不工作:它什麼都不做..

$http.put("http://192.168.0.101:1337/fraisforfait", elements); 

UPDATE:其誤差應在服務器端..

我的服務器在節點js上,我已經完成了設置CORS:

app.use(function(req, res, next) { 
    res.header("Access-Control-Allow-Origin", "*"); 
    res.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE,OPTIONS'); 
    res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept"); 
    next(); 
    }); 

然而沒有什麼變化..

感謝您的幫助!

回答

0

我的測試也失敗,192.168.x.x或127.0.0.1,但與域名,它工作正常。 使用

$http.put("http://localhost:1337/fraisforfait", elements); 

或任何其他域名。

+0

它不爲我工作:$ http.put(的 'http://本地主機:1337/fraisforfait',元素); - > nothing –

+0

您忘記了「http://」$ http.put('http:// localhost:1337/fraisforfait',elements); –

+0

沒有這只是將它自動轉換爲鏈接的stackoverflow –

0

您很可能會遇到CORS,跨源資源共享。您正在訪問的端點http://192.168.0.101:1337/fraisforfait需要明確需要添加響應標頭,告訴您的瀏覽器可以使用GET或HEAD以外的任何其他訪問。

對於開發,您可以讓服務器在響應頭中返回:Access-Control-Allow-Origin: *。對於生產你可能想要縮小這個範圍 - 或者使用相對路徑。

More Details on CORS

+0

我已經做到了:res.header(「Access-Control-Allow-Origin」,「*」); ('Access-Control-Allow-Methods','GET,PUT,POST,DELETE,OPTIONS'); (「Access-Control-Allow-Headers」,「X-Requested-With,Content-Type,Cache-Control」); –

+0

您的瀏覽器在控制檯中是否給您提供任何錯誤? – Martin

+0

moz:絕對沒有鉻:XMLHttpRequest無法加載http://192.168.0.101:1337/fraisforfait。預檢反應的HTTP狀態碼無效404 –