【问题标题】:extjs form.submit blocked a frame with originextjs form.submit 阻止了一个带有原点的框架
【发布时间】:2018-03-08 16:41:11
【问题描述】:

在 ExtJs 中,我通过 form.submit 上传文件。

        if (field.up('form').getForm().isValid()) {
        field.up('form').getForm().submit({
            url: ExtApplication4.util.GlobalVar.urlUploadPositionSheet,
            waitMsg: 'Uploading your file...',
            headers : {
                'Content-Type' : 'text/html'
            },

错误信息

{success:false,message:"Blocked a frame with origin "http://localhost:57007" from accessing a cross-origin frame."}

我看到有很多关于这个的帖子...... Extjs fileuplaod - cross-origin frame

但即使我在关注它,我仍然无法返回成功。

有谁知道我会把它放在哪里

response.write('document.domain = "' + params.__domain + '";'); response.write(JSON.stringify({msg: 'Welcome ' + params.name})); response.end(''); 

解决方案中提到的。如果这甚至是解决方案。

【问题讨论】:

  • 您是否尝试过构建应用程序并再次尝试?表单不会跨域上传,如果构建,我已经解决了同样的错误。如果上传 url 是 localhost/.... 并且您正在 localhost:57007/... 上进行测试,它将失败。
  • 我不确定你的意思。我的 extjs 应用程序将位于与我将文件上传到的 webapi 不同的域中。你是说这不可能吗?
  • 哦,我明白了。 Ext JS 表单文件跨域上传会失败。搜索了一下,我看到人们选择了 ajax 请求,我找到了this(?)。虽然我自己没有承担这个责任,所以除了和你一起四处寻找之外,我帮不上什么忙……对不起!
  • 我看到...似乎没有太大帮助,但感谢您的搜索。

标签: extjs cross-domain form-submit


【解决方案1】:

我也遇到过这种情况,结果是: 此解决方案仅适用于两个域

1.属于同一个父域,如http://static.a.comhttp://service.a.com

2.主机名相同,端口不同,如http://localhost:81http://localhost:82

【讨论】:

  • 这是评论,不是解决方案。
猜你喜欢
  • 2014-11-09
  • 1970-01-01
  • 2013-05-19
  • 1970-01-01
  • 2014-10-16
  • 2016-08-11
  • 2013-08-19
  • 2017-09-04
  • 1970-01-01
相关资源
最近更新 更多