Этот вопрос задавался миллион раз. Я прочитал документацию Mozilla и просмотрел так много ответов, что у меня болят глаза.
В моем вызове Ajax у меня есть это:
$.ajax({
type: 'POST',
dataType: 'json',
data: {name: "test"},
contentType: 'application/json',
url: 'https://example.com:8443',
success: function (data) {
alert(data);
}
в моем экспресс-сервере мой файл server.js такой:
app.post('/', function (req, res) {
console.log(req.body.myData);
res.header('Access-Control-Allow-Origin: *');
res.header('Access-Control-Allow-Methods: GET, POST, PATCH, PUT, DELETE, OPTIONS');
res.header('Access-Control-Allow-Headers: Origin, Content-Type, X-Auth-Token');
return res.end('<h1>Hello, Secure World!</h1>');
});
насколько я понимаю, я правильно выполняю вызов ajax с dataType: 'json' и contentType 'application / json'.
Кроме того, я устанавливаю разрешение доступа для контроля доступа *, что должно позволить любому домену попадать на мой сервер. Я не могу понять, что я делаю неправильно. Я получаю эту ошибку:
has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Любая помощь будет оценена!