Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 22.02.2024, 22:20
Новичок на форуме
Отправить личное сообщение для ajkpro Посмотреть профиль Найти все сообщения от ajkpro
 
Регистрация: 22.02.2024
Сообщений: 4

Ошибка при отправке данных формы
Почему ошибка?
Код:
var xhr = new XMLHttpRequest();
xhr.open('POST', 'https://matic.su/zz2.php');
xhr.setRequestHeader('Authorization', 'Basic bG9naWcGFzc3dv');
xhr.setRequestHeader('Content-Type', 'application/json'); // Добавляем Content-Type для JSON данных
xhr.send(JSON.stringify(obj));
xhr.onload = function () {
    if (xhr.response) {
        /* Какие-то действия, если данные дошли успешно */
        console.log('всё нормально');
        /* Переадресация на страницу успеха */
        var successUrl = form.getAttribute('/'); /* data-success-url */
        if (successUrl) window.location.href = successUrl;
    }
};

дает ошибку:
matic.su/:1 Access to XMLHttpRequest at 'https://matic.su/zz2.php' from origin 'http://matic.su' has been blocked by CORS policy: Request header field content-type is not allowed by Access-Control-Allow-Headers in preflight response.
при этом данные на сервере принимаются.

Заголовок стоит :
header("Access-Control-Allow-Origin: *");
Ответить с цитированием
  #2 (permalink)  
Старый 23.02.2024, 09:44
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,707

Если в междоменном запросе стоит
'Content-Type', 'application/json'

То сервер должен еще давать такие заголовки, как минимум

Access-Control-Allow-Methods: POST
Access-Control-Allow-Headers: Content-Type

https://developer.mozilla.org/ru/docs/Web/HTTP/CORS
См там разницу между простыми и предварительными запросами.
Ответить с цитированием
  #3 (permalink)  
Старый 23.02.2024, 09:50
Новичок на форуме
Отправить личное сообщение для ajkpro Посмотреть профиль Найти все сообщения от ajkpro
 
Регистрация: 22.02.2024
Сообщений: 4

Сообщение от voraa Посмотреть сообщение
Если в междоменном запросе стоит
'Content-Type', 'application/json'

То сервер должен еще давать такие заголовки, как минимум

Access-Control-Allow-Methods: POST
Access-Control-Allow-Headers: Content-Type

https://developer.mozilla.org/ru/docs/Web/HTTP/CORS
См там разницу между простыми и предварительными запросами.
Спасибо огромное!
И я же видел эти два запроса, но не осознал.

Спасибо!
Ответить с цитированием
  #4 (permalink)  
Старый 23.02.2024, 10:43
Новичок на форуме
Отправить личное сообщение для ajkpro Посмотреть профиль Найти все сообщения от ajkpro
 
Регистрация: 22.02.2024
Сообщений: 4

Я ещё вопрос в догонку

Это тестовый сервер, с ним понятно. На рабочем такая же ошибка. Но некая другая похожая программа там работает и получает ответы. Она на node.js
Т.е. что-то другое есть?

спасибо!
Ответить с цитированием
  #5 (permalink)  
Старый 23.02.2024, 14:04
Новичок на форуме
Отправить личное сообщение для ajkpro Посмотреть профиль Найти все сообщения от ajkpro
 
Регистрация: 22.02.2024
Сообщений: 4

Впрочем, я всё понял! Спасибо!
Ответить с цитированием
  #6 (permalink)  
Старый 23.02.2024, 17:53
Аватар для voraa
Профессор
Отправить личное сообщение для voraa Посмотреть профиль Найти все сообщения от voraa
 
Регистрация: 03.02.2020
Сообщений: 2,707

Сообщение от ajkpro
Она на node.js
CORS только в браузерах.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не срабатывает ajax запрос, при отправке формы Pro100vano jQuery 4 04.07.2017 10:55
Отправка данных формы. Как выглядит структура метода с AJAX (по JQuery)? Coriolan161 AJAX и COMET 5 24.11.2015 20:17
Смена данных внутри формы, при нажатии кнопки... Ewigkeit13 jQuery 5 18.09.2014 04:44
отправка данных из формы и вывод полученных данных sxe jQuery 2 21.05.2013 00:34
При отправке через ajax, в данных появляются мнемоники nikolayseo Общие вопросы Javascript 1 03.02.2012 00:48