Сделать кроссдоменный запрос к бекэнду

262
29 июня 2017, 05:15

Помогите пожалуйста решить проблему с кроссдоменным запросом. Я расположил бекенд на одном сервере, а фронтэнд на другом. Теперь при помощи ajax-запроса фронтэнд-скрипт не может получить данные из бекэнда

Вот адрес, по которому можно получить данные:

http://zlodiak.pythonanywhere.com/days/1497104260/1497968260

Тут лежит мой скрипт, который отправляет ajax-запрос по вышеуказанному адресу. ajax-запрос отправляется после того как пользователь в первом датепикере выбирает дату '2017-06-01', а во втором датепикере выбирает дату '2017-06-30'. Затем нажимает кнопку субмита

В результате консоль говорит о том, что кроссдоменный запрос не разрешён:

XMLHttpRequest cannot load http://127.0.0.1:8000/days/1496264400/1498770000. No 'Access-Control-Allow-Origin' header is present on the requested resource. Origin 'https://fiddle.jshell.net' is therefore not allowed access. The response had HTTP status code 400.

Я пробовал располагать на одном сервере и фронтэнд, и бекэнд. При этом всё описанной проблемы не было и связка работала без проблем. Но мне нужно чтобы фронтэнд и бекенд находились именно на разных серверах

Answer 1

Нужно чтобы ваш сервер хотя бы отдавал заголовок CORS:

Access-Control-Allow-Origin: *

Ещё лучше чтобы он отдавал конкретные хосты, откуда можно делать запрос.

Например, для web2py это делается так:

if request.env.http_origin:
    response.headers['Access-Control-Allow-Origin'] = request.env.http_origin

Вы можете ограничить условием для каких хостов такой заголовок будет, для каких - нет.

READ ALSO
phonegap клавиатура закрывает поле ввода

phonegap клавиатура закрывает поле ввода

делаю на framework7 и появилась проблема, если по полю тапаю, которое низко, то появляющаяся клавиатура перекрывает поле и не видно что вводишькак...

378
Пройтись циклом в теле шаблонной строки

Пройтись циклом в теле шаблонной строки

ПриветМожно ли пройтись циклом по массиву внутри шаблонной строки? Например, есть массив:

436
Передать файл в input value по клику

Передать файл в input value по клику

ЗдравствуйтеЯ очень слабенький в JS, по этому заранее извиняюсь за глупый вопрос

240