0

我有一个 asp.net 网站,它应该将文件从不同的应用程序/域上传到处理程序。我正在使用 jQuery 表单插件。当尝试在同一域上创建示例(上传到同一域)时,此设置成功。当尝试将文件从 siteA 上传到 siteB 时,我在 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

在铬它是:

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,因此它不会引发跨站点异常,并且因为我不需要上传的实际结果 - 它对我有用!

4

1 回答 1

2

检查这个,是的,这是同源策略。有一些方法可以使用 flash、iframe、jsonp 等来解决这个问题,但这需要编辑插件。

于 2011-06-29T21:24:38.230 回答