#javascript #python #angularjs #bottle
#javascript #python #angularjs #бутылка
Вопрос:
Code:
@route('/characteristicsToBestWeb', method='OPTIONS')
def respondToCharToBestQueryWebOptions():
response.headers['Access-Control-Allow-Origin'] = settings.allowed_web_origin
response.headers['Access-Control-Allow-Credentials'] = 'true'
# response.headers['Access-Control-Allow-Origin'] = '*'
response.headers['Access-Control-Allow-Methods'] = 'POST, OPTIONS'
response.headers['Access-Control-Allow-Headers'] = 'Origin, Accept,'
' Content-Type,'
' Cache-Control,'
' Pragma,'
' X-Requested-With,'
' X-CSRF-Token'
@route('/characteristicsToBestWeb', method='POST')
def respondToCharToBestWebQuery():
response.headers['Access-Control-Allow-Origin'] = settings.allowed_web_origin
response.headers['Access-Control-Allow-Credentials'] = 'true'
# response.headers['Access-Control-Allow-Origin'] = '*'
response.headers['Access-Control-Allow-Methods'] = 'POST, OPTIONS'
response.headers['Access-Control-Allow-Headers'] = 'Origin, Accept,'
' Content-Type,'
' Cache-Control,'
' Pragma,'
' X-Requested-With,'
' X-CSRF-Token'
render_response()
Как вы можете видеть, я указываю происхождение явно, и все же я получаю следующую ошибку в консоли, используя как ванильный $http
сервис, так и Restangular
.
в запросе post:
Не удается загрузить XMLHttpRequest http://vitamiter.com/characteristicsToBestWeb . В запрошенном ресурсе отсутствует заголовок ‘Access-Control-Allow-Origin’. Происхождение ‘http://dev.vitapersonal.com:9000 «следовательно, доступ к нему запрещен.
Хотя запрос ПАРАМЕТРОВ возвращается просто отлично.
Любая помощь очень ценится.
РЕДАКТИРОВАТЬ: отлично работает с XMLHttpRequest:
var req = new XMLHttpRequest();
req.open("POST", API_ROOT 'characteristicsToBest?cacheBuster=' Math.random().toFixed(5) , true);
req.setRequestHeader("Content-Type", "application/json");
req.setRequestHeader("Cache-Control", "no-cache, must-revalidate");
req.setRequestHeader("Pragma", "no-cache");
req.onload = function(){
var response = this.response;
$scope.$apply(function(){
console.log(response)
})
}
req.send(JSON.stringify(reqData));
WT * -angular?
Комментарии:
1. Вы смотрели на фактические заголовки, которые возвращаются?
Ответ №1:
попробуйте это :
@hook('after_request')
def enable_cors():
response.headers['Access-Control-Allow-Origin'] = '*'
response.headers['Access-Control-Allow-Methods'] = 'PUT, GET, POST, DELETE'
response.headers['Access-Control-Allow-Headers'] = 'Origin, Accept, Content-Type, X-Requested-With, X-CSRF-Token'