Я пытаюсь использовать Ajax-запрос на моем внешнем интерфейсе:
$.ajax({
type: "GET",
url: "localhost:3000/send",
beforeSend:function(){
$(".loading_msg").hide();
},
complete:function(){
$(".loading_msg").show();
}
});
Но при загрузке страницы, содержащей скрипт, я получаю следующую ошибку:
Доступ к XMLHttpRequest на «localhost: 3000 / send» от источника
'http://localhost:3000' заблокирован политикой CORS: перекрестное происхождение
запросы поддерживаются только для схем протоколов: http, data, chrome,
chrome-extension, https.
И
Не проверено runtime.lastError: Порт сообщения закрыт перед ответом
был получен.
Я пробовал много вещей, таких как добавление промежуточного программного обеспечения для выражения вроде:
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");
next();
});
Что не имеет значения.
Я также попытался установить пакет cors npm и сделал
const cors=require('cors')
app.use(cors())
app.options('*', cors());
Это тоже не имело значения.
Я также попытался изменить URL ajax, добавив https://
url: "https://localhost:3000/send",
Хотя это и устраняет ошибку CORS, она дает мне еще одну ошибку:
GET https://localhost:3000/send net :: ERR_SSL_PROTOCOL_ERROR
Как отправляется Ajax-запрос с экспресс-сервера Nodejs при использовании localhost?