我有一个asp.net网站,它应该从不同的应用程序/域上传文件到处理程序。我使用的是jQuery表单插件。当尝试在相同的域上创建示例(上传到相同的域)时,此设置成功。当尝试将文件从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,这样它就不会抛出跨站异常,因为我不需要上传的实际结果-它对我来说是有效的!
发布于 2011-06-30 05:24:38
Check this,是的,这是同源策略。有办法解决这个问题使用flash,iframes,jsonp等,但这将需要编辑一个插件。
https://stackoverflow.com/questions/6527404
复制相似问题