Попытка отправить ответ от экспресса на 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
Об этом подробнее здесь: