2017-09-24 43 views
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(); 
}); 

回答

0

问题是解决了。

问题来自GitHub页面。我切换到Heroku,一切都恢复正常。我对每个人的建议是不要在GitHub Pages上托管他们的网站,似乎它对某些请求有限制。