我想做的很简单:
我想异步加载一个.aspx页面(比方说,www.crossdomain.com/PageToAdd.aspx)到我的实际页面(比方说,www.actualdomain.com/Index.aspx)。两个页面(和域名)都在我的控制之下,所以我也可以制作任何类型的东西。
我该怎么办?我尝试了什么:
.load()
,但它不适用于跨域; .ajax()
,使用JSONP,但似乎很无聊将整个PageToAdd.aspx序列化为JSON(事实上,我不能把整个html页面代码放在一个节点中,因为页面大小呢太高了,它会被打破); 那么,我可以尝试做什么?
请注意!出于某些原因,我需要“避免”iFrame。
答案 0 :(得分:1)
你可以.load(“actualdomain / parseforme.aspx?url = remotedoomain / please.aspx”);我认为?只需要在应用程序中编写一个parseforme.aspx来获取域中的远程文件。
答案 1 :(得分:1)
您必须实施代理才能放入您的域或使用iframe
。既然你想避免iframe
你依赖代理;那么您将需要.load()
您的代理,它将调用远程URL并返回该页面的HTML。
请注意,如果远程页面对自己的Web服务进行了一些AJAX调用,那么将针对同源策略阻止这些AJAX调用。实施iframe
将更安全,更快捷。
答案 2 :(得分:1)
由于您控制了两个域,因此可以向其中一个域添加CORS支持。这将允许通过XMLHttpRequest加载内容。您可以在此处了解有关配置CORS的更多信息: