0

我正在尝试使用 jquery-ifram-transport 和 nodejs 设置一个简单的文件上传问题是我不断收到错误捕获 SecurityError: Blocked a frame with origin "https://localhost:8081"from access a frame with origin "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 发送回 jquery-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();
});
4

1 回答 1

0

你用的是快递吗?

尝试这个:

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

在此处阅读更多信息:

于 2014-01-24T21:46:21.013 回答