Попытка отправить ответ от экспресса на jquery-iframe-transport

Я пытаюсь настроить простую загрузку файлов, используя jquery-ifram-transport и nodejs, проблема в том, что я продолжаю получать сообщение об ошибке SecurityError: заблокирован фрейм с источником "https://localhost:8081" от доступа к фрейму с источником "serverURL". Протоколы, домены и порты должны совпадать.

Вот мой клиент ajax код от клиента

var uploadXhr = $.ajax($scope.nodeSocketUrl + '/upload?tenant=qa',{
                    data: $(':text', form).serializeArray(),
                    files: $('#presentationFileUpload'),
                    type: 'POST',
                    iframe: true,
                    processData: false,
                    context: this
                });

Здесь мне просто трудно заставить этот плагин работать с огромным. Я хотел бы, чтобы запрос был отправлен обратно клиенту, как будто файл был загружен примерно так.

form.on('end',function(){
res.header({'content-type': 'text/html'});
        res.send('<html><textarea data-type="application/json">{"ok": true, "message": "Thanks so much"}</textarea></html>');
});

Любой, кто знает, как отослать запрос из express в запрос jjery-iframe-transport ajax, очень помог бы здесь.

Обновление Вот мои текущие настройки Cors

app.all('/*', function (req, res, next) {
    res.header('Access-Control-Allow-Origin', '*');
    res.header('Access-Control-Allow-Credentials', true);
    res.header('Access-Control-Allow-Methods', 'GET, POST, PUT, DELETE');
    res.header('Access-Control-Allow-Headers', 'X-Requested-With, Content-Type, Authorization');
    next();
});

1 ответ

Вы используете Express?

Попробуй это:

app.all('*', function(req, res, next) {
  res.header("Access-Control-Allow-Origin", "*");
  res.header("Access-Control-Allow-Headers", "X-Requested-With");
  next();
 });

Вам нужно включить заголовки CORS, чтобы он работал правильно.

http://enable-cors.org/index.html

Редактировать:

Иногда вам нужно настроить свой браузер. Локальный хост ведет себя не так, как реальные домены.

Запустите Chrome с этими настройками: --disable-web-security

Об этом подробнее здесь:

Другие вопросы по тегам