1
我有一個問題,當我從一個表單POST數據到服務器後,我收到:與AngularJS發帖的形式返回405代碼,發佈網站
angular.js:14642 Possibly unhandled rejection: {"data":"<html>\n<head><title>405 Not Allowed</title></head>\n<body bgcolor=\"white\">\n<center><h1>405 Not Allowed</h1></center>\n</body>\n</html>","status":405,"config":{"method":"POST","transformRequest":[null],"transformResponse":[null],"jsonpCallbackParam":"callback","url":"/messages","headers":{"Accept":"application/json, text/plain, */*"}},"statusText":"Method Not Allowed"}
一切工作正常在本地主機上,但出版後,我收到這個帖子上的錯誤。我的網站在Github頁面上發佈,域名是namecheap。
這裏是我的路線代碼:
module.exports = (function() {
'use strict';
var router = require('express').Router();
var Message = require('./angular/models/messageModel');
router.post('/messages', function(req,res,next){
var message = new Message();
message.name = req.body.name;
message.email = req.body.email;
message.subject = req.body.subject;
message.message = req.body.message;
if(req.body.name == null || req.body.name == "" || req.body.email == null || req.body.email == "" || req.body.subject == null || req.body.subject == "" || req.body.message == null || req.body.message == ""){
res.json({success: false, message: "Please fill up the required fields!" });}
if(req.body.message.length<8){
res.json({success: false, message: "Your message is too short!"});
} else {
message.save(function(err){
if(err){
throw err;
} else {
res.json({success: true, message: "Message sent!"});
}
});
}
});
return router;
})();
這裏是我的要求:
$http({
method: 'POST',
url: '/messages',
headers: { "Content-Type": "application/json" },
data: app.contactData
})
任何幫助,將不勝感激!
編輯:我已經加入響應頭,但沒有改變
app.use(function (req, res, next) {
res.setHeader('Access-Control-Allow-Origin', 'http://www.stundji.info');
res.setHeader('Access-Control-Allow-Methods', 'GET, POST, OPTIONS, PUT,');
res.setHeader('Access-Control-Allow-Headers', 'application/json');
res.setHeader('Access-Control-Allow-Credentials', false);
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept");
next();
});