Пытаюсь отправить данные из формы в таблицу гугла. При отправке появляется ошибка
Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource
Подскажите, пожалуйста, как именно нужно осуществлять запрос чтобы этой ошибки не возникало.
Данный метод подсмотрел здесь https://medium.com/@dmccoy/how-to-submit-an-html-form-to-google-sheets-without-google-forms-b833952cc175
Единственное что в примере используется jquery для отправки, а моя функция выглядит так:
var xhr2 = new XMLHttpRequest();
xhr2.open('GET', googleSheetUrl, true);
xhr2.setRequestHeader('Content-type', 'application/json');
xhr2.setRequestHeader('Access-Control-Allow-Origin', '*');
xhr2.send(googleData);
В прочем с jquery у меня та же самая ошибка появляется.
И еще одно - тестирую все на реальном хостинге, а не на локальном.
Заранее спасибо за помощь!
Ваша проблема состоит в том что сервер устанавливает заголовок Access-Control-Allow-Origin
а не клиент. Простым языком на сервере есть список разрешенных адресов (если не установлен флаг Access-Control-Allow-Origin: *
т.е. все адреса), если ваш адрес не имеется в списке он вам возвратит:
Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource
Статью которую вы читали написано:
The last two of these three options are extremely important to set correctly or you won’t be able to access your script with an AJAX request. You must execute the app as yourself and you must give “Anyone, even anonymous” access to the app. Without these settings your script will reject any request from a different server, like your form’s AJAX request, because it won’t be configured to allow for cross-origin resource sharing (CORS).
Once you’ve configured these options, go ahead and click “Deploy.”
You will the be presented with the URL for your web app. This is where we’ll be sending our AJAX request so copy that URL and save it for later.
Почитайте про технологию CORS.
Кофе для программистов: как напиток влияет на продуктивность кодеров?
Рекламные вывески: как привлечь внимание и увеличить продажи
Стратегії та тренди в SMM - Технології, що формують майбутнє сьогодні
Выделенный сервер, что это, для чего нужен и какие характеристики важны?
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Пользователь указывает свой возраст, а я хочу посчитать в каком году он родилсяКод выглядит так:
Запускаю скрипт на локальной машине, он открывает изображение, делает ресайз и сохраняет