我有一个asp.net网站,它应该从不同的应用程序/域上传文件到处理程序。我正在使用jQuery Form插件。当尝试在同一个域上创建示例(上传到同一个域)时,此设置可成功运行。当尝试从siteA上传文件到siteB时,我在firebug中看到已经返回处理程序的响应(在“网络”选项卡中)并且是有效的,但是,代码永远不会进入“成功”处理程序,而是在firebug控制台:
[jquery.form] Server abort: Error: Permission denied to access property 'document' (Error) log:
[jquery.form] cannot access response document: Error: Permission denied to access property 'document'
[jquery.form] aborting upload... aborted
在Chrome中它是:
Unsafe JavaScript attempt to access frame with URL http://domainB/handler.ashx from frame with URL domainA. Domains, protocols and ports must match.
现在,我知道有一些关于域之间的ajax调用的策略,但似乎jquery表单插件只是试图访问一些被禁止的URL。 有人有解决方法吗?任何解决方案请!:)
更新: 我最终破解了jquery.form,所以它不会抛出跨站点异常,因为我不需要上传的实际结果 - 它对我有用!