Meine Express-App (für File-Serving) gibt 300 zurück, wenn eine Anfrage-Methode "OPTIONS" von meiner Client-Anwendung gesendet wird. Hier ist der Code:Express-Status 300 auf Optionen
import express from 'express'
import * as middleware from './middleware'
let App = express();
// Logger
App.use((req, res, next) => {
console.log(req.method, req.url)
next()
})
// Cors
App.use((req, res, next) => {
res.header("Access-Control-Allow-Origin", "*");
res.header("Access-Control-Allow-Headers", "Origin, X-Requested-With, Content-Type, Accept, Authorization");
next();
});
// Middleware
// App.use('/', middleware.authenticate)
// Root
App.get('/', (req, res) => {
res.send('Test!')
})
App.listen(3030,() => {
console.log('It\'s working!')
})
In meinem anderen Client (die Cross-Domain auch) ich "300" auf random:
Es scheint nicht um ein echtes Muster zu sein, wenn der "300" -Fehler auftritt, wie Sie sehen können. Hier
ist der Code für die Anforderung von meinem Client gesendet:
import axios from 'axios'
import Store from '../store'
let api_url = 'http://127.0.0.1:8000/api'
let media_url = 'http://127.0.0.1:3030'
let urls = {
api: api_url,
media: media_url,
}
const Request = {
GET: function(url, server) {
this.getAuthtoken();
return axios.get(urls[server || 'api'] + url, this.config)
},
getAuthtoken: function() {
let token = Store.getState().auth.key;
if (token !== null) {
this.config.headers['Authorization'] = "Token " + token
} else {
delete this.config.headers.Authorization;
}
},
config: {
headers: {}
}
}
// The request
Request.GET('/', 'media').then((response) => {
console.log(response)
})
Was macht Ihr Kunde? Können Sie den Code posten? – peteb
@peteb Ja, siehe meine Bearbeitung. –
Dieses Verhalten ist nicht wirklich sinnvoll. AFAICS, Express sendet keine 300 Antworten, es sei denn, Sie werden ausdrücklich dazu aufgefordert, und der Code, den Sie veröffentlichen, tut das nicht. – robertklep