2015-12-14 61 views
1

我想從角度發表數據來表達,但是,每次我提出發佈請求時,都會收到此錯誤。

OPTIONS http://localhost/post/ net::ERR_CONNECTION_REFUSED(anonymous function) @ angular.js:11209s @ angular.js:11002g @ angular.js:10712(anonymous function) @ angular.js:15287m.$eval @ angular.js:16554m.$digest @ angular.js:16372m.$apply @ angular.js:16662(anonymous function) @ angular.js:24283m.event.dispatch @ jquery.js:4670r.handle @ jquery.js:4338 
controller.js:29 

和errorCallback響應對象是:

Object {data: null, status: -1, config: Object, statusText: ""} 

我做了一些調整,在尋找其他類似問題上的SO,如添加標題,內容類型等,但沒有運氣。

這似乎是什麼問題。 由於

Controller.js

word.add = function(){ 
console.log(word.name); 

    $http({ 
     method:'POST', 
     url:'http://localhost/post/', 
     data :word.name, 
     headers: {'Content-Type': 'application/json'} 
    }).then(function successCallback(response){ 
     console.log(response); 
     console.log("Successful"); 
    },function errorCallback(response){ 

     console.log(response); 
     console.log("Unsuccessful"); 
    });  
}; 

相關代碼摘錄app.js

var routes = require('./routes/index'); 
    app.all('/*', function (request, response, next) { 
     response.header("Access-Control-Allow-Origin", "*"); 
     response.header('Access-Control-Allow-Methods', 'GET,PUT,POST,DELETE'); 
     response.header("Access-Control-Allow-Headers", "X-Requested-With, Content-Type"); 
    next(); 
}); 

app.use(logger('dev')); 
app.use(bodyParser.json()); 
app.use(bodyParser.urlencoded({ extended: false })); 
app.use('/post', routes); 

index.js

var express = require('express'); 
var router = express.Router(); 
router.post('/post', function(request, response){ 
    console.log(request.body.name); 
    response.send('Reached post'); 
}); 

module.exports = router; 

編輯: 嗨,我已經嘗試並在我的回覆中添加了內容類型標題。 不過,這是一樣的錯誤。

當我使用此方法發佈時,相同的代碼正常工作。

$http.post('/post',{data: word.name}).success(function(response) { 
     console.log("success"); 
     }).error(function(err){ 
     console.log("failure") 
     }); 
+0

可能的複製[CORS麻煩和的NodeJS AngularJS](http://stackoverflow.com/questions/19867775/cors-trouble-with-nodejs-and-angularjs) – Phil

+0

甲預檢進行燒成。這意味着[CORS](https://developer.mozilla.org/en-US/docs/Web/HTTP/Access_control_CORS)已到位。您可以讓您的客戶端和服務器處於相同的域中或添加CORS頭。 – PSWai

+0

@Phil我已經研究過這個問題,並添加了CORS,仍然面臨同樣的錯誤。我不確定它是否與內容類型標題錯誤有關。 – nitte93user3232918

回答