这是问题所在:
1.)我们在这里有页面... www.blah.com/mypage.html
2.)那个页面请求像这样的js文件www.foo.com ......
3.)"jsfile.js"使用Prototype将Ajax请求发回www.foo.com.
4.)ajax请求调用www.foo.com/blah.html.回调函数获取html响应并将其抛出到div中.
这似乎不起作用,我想这是XSS.那是对的吗?
如果是这样,我该如何解决这个问题呢?有没有其他方法可以在不使用iframe的情况下将我的html从www.foo.com上传到www.blah.com客户端?
它是XSS,是禁止的.你真的不应该那样做.
如果你真的需要,让你的AJAX代码调用blah.com上的本地代码(PHP,ASP,无论如何),使其表现得像客户端,并从foo.com获取你需要的任何内容并将其返回给客户端.如果您使用PHP,则可以使用fopen('www.foo.com/blah.html','r')执行此操作,然后将内容读取为常规文件.
当然,需要在php.ini中启用allow_remote_url_fopen(或其他任何名称).
有一个w3c建议允许站点指定允许对其进行跨站点查询的其他站点.(例如,维基百科可能希望允许所有文章请求,但谷歌邮件不希望允许请求 - 因为这可能允许任何网站在您登录谷歌邮件时打开以阅读您的邮件).
这可能在将来的某个时候可用.