这是问题所在:
1.)我们在这里有页面… www.blah.com/mypage.html
2.)该页面要求这样的js文件www.foo.com …
<script type="text/javascript" src="http://www.foo.com/jsfile.js" />
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(或确切称为任何名称)。