Node.JS Express.JS передача CORS методов PUT, DELETE и других

471
29 апреля 2017, 23:32

Доброго, коллеги!

В принципе, не так часто работаю с Node, чисто для себя в основном.

И тут столкнулся с такой незадачей, что сервер не отдаёт ответы на не стандартные запросы аля PUT и DELETE.

Это касается больше браузеров, с другими системами пока проблем не обнаружил.

Headers стоят, всё (допустим) разрешают, но толку от этого - нуль-нуля.

Каково бы было ваше решение?

Answer 1

Замечу, что я не упомянул одну интересную вещь..

Хоть у меня и стоят все нужные Headers:

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");
  res.header("Access-Control-Allow-Methods", "DELETE, PUT, UPDATE, HEAD, OPTIONS, GET, POST");
  next();
});

Но, есть у меня такая штука, заглушка, в роутерах, которая всё равно ничего не пропустит:

app.all('*', function (req, res) {
    res.status(404).json({ response: 'error', code: 404, error: 'Не найден объект или метод!' });
  });

Соответственно, запрос от браузера сначала идет на метод OPTIONS (браузеру запрещено без спроса использовать не стандартные CORS), а такого у меня нет.

Всё что не указано - летит в 404!

Пока, чтобы не углубляться в дебри, я сделал так в роутере:

app.options('*', function(req,res,next){ res.sendStatus(200); });
READ ALSO
Джаваскрипт и железо

Джаваскрипт и железо

Что должен знать о работе процессора и остальных комплектующих и о машинном коде и о низкоуровневых ЯП javascript-разработчик, чтобы писать оптимизированный...

251
Подгрузка данных по готовности

Подгрузка данных по готовности

Добрый день! Есть сайт на php (стоит wordpress, но вопрос с ним вряд ли связан)

286
Ajax не идет отправка

Ajax не идет отправка

Замените повторяющиеся id на классы:

271
Почему Uncaught TypeError: Illegal invocation? (Element.classList)

Почему Uncaught TypeError: Illegal invocation? (Element.classList)

Поясните пожалуйста, почему следующий код:

265