【问题标题】:Ext.Direct File Upload - Callback - Error "Blocked a frame with origin"Ext.Direct 文件上传 - 回调 - 错误“阻止了带有来源的帧”
【发布时间】:2014-11-01 23:45:16
【问题描述】:

我正在尝试进行表单提交,它会上传一个我从中读取的文件,然后我尝试通过回调发回从文件中读取的数据。但是,我收到错误

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

因此我的回调永远不会实现,数据也永远不会返回表单提交的成功回调。

我不完全确定该错误消息的含义.. 我不知道从哪里开始。任何帮助将不胜感激。

【问题讨论】:

  • 这很可能是Same origin policy 的作用。尝试从提交 Ext.Direct 数据的同一服务器加载您的 Ext JS 应用程序。

标签: node.js forms extjs file-upload ext-direct


【解决方案1】:

您可以按照以下任何步骤操作。

1.Either install your sencha app in the same server as your back end.

2.Use below flag in your browser, but don't do it for production (only for development purpose)

--disable-web-security --allow-file-access-from-files --allow-file-access

3. Use JSONP to access resource outside origin.

【讨论】:

  • 我不熟悉如何使用#2。这是怎么做的?谢谢。
  • 1.关闭您的Chrome浏览器所有实例。 2.右键单击chrome启动器图标,最后转到属性,然后将这些标志附加到目标部分,如下所示。 "C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --allow-file-access-from-files --allow-file-access --disable-web-security 3.现在你可以再次启动浏览器,您会在浏览器搜索栏下方看到一条警告消息,这表明标志已设置。
  • 为我工作。但是,我看到该警告消息,但它显示“您正在使用不受支持的命令行标志:--disable-web-security。稳定性和安全性将受到影响。”这是意料之中的吗?
  • 是的,这是意料之中的,因为默认情况下最新的浏览器不支持跨源请求。这就是为什么我已经提到不要在生产环境中使用它。仅用于开发目的。欲了解更多信息:- en.wikipedia.org/wiki/Cross-origin_resource_sharing
猜你喜欢
  • 2013-08-19
  • 2017-05-31
  • 1970-01-01
  • 2017-05-01
  • 2017-09-04
  • 2014-04-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多