每当我的应用程序向服务器发送ajax请求时: $.ajax({ url: config.api.url + ‘/1/register’, type: ‘POST’, contentType: ‘application/json’, data: /* some JSON data here */, /* Success and error functions here*/ }); 它发送以下两个请求: Request URL:https://api.example.com/1/register Request Method:OPTIONS Status Code:404 Not Found 随后是适当的POST与所有数据。 因为我这样处理路线: expressApp.post(‘/1/register’, UserController.register); 并且没有针对此路线的.options ,它总是在404结束。 几乎所有方法都是一样的。 这个问题在接受的答案之下的两个答案中谈了一点,但我不太清楚该怎么做。 我怎么处理这个? 我应该添加.options路由,如果是的话应该怎么办?
为了在我的Web应用程序中获取Spotify API的访问令牌(由他们的Web授权流程指定),我了解到我必须发出POST请求。 但是,当我这样做时,由于跨源问题,我得到XMLHttpRequest 500 Error 。 我已经知道如何允许CORS GET请求,但我不知道如何对POST请求执行相同的操作。 此链接提供配置提示,但它将GET和POST的实际路由留空。 这是我的Express.js服务器的相关代码: app.use(function(req, res, next) { res.header(“Access-Control-Allow-Origin”, “*”); res.header(“Access-Control-Allow-Headers”, “Origin, X-Requested-With, Content-Type, Accept”); next(); }); app.use(express.static(__dirname + ‘/public’)); // looks in public directory, not root directory (protects files) app.get(‘/’, function(req, res) { // res.header(“Access-Control-Allow-Origin”, “*”); // res.header(“Access-Control-Allow-Headers”, “X-Requested-With”); res.send(__dirname + ‘\\index.html’) }); app.post(‘/’, function(req, res) { res.send(req.body.spotify); […]