使用ajax在子域内调用页面

时间:2013-03-18 15:05:36

标签: c# jquery asp.net ajax

我需要使用ajax get读取子域中的页面内容。 我想在我的子域上创建一些脚本并在我的域上调用该脚本。但是我不知道该怎么做。

有可能做这样的事吗?怎么样?

编辑:

我在我的域中创建了一个使用DownloadString的页面并下载该页面并记下结果。任何更好的想法?

2 个答案:

答案 0 :(得分:1)

如果您希望支持跨域AJAX请求,则需要创建跨源资源共享处理程序(CORS)。我没有特定于asp.net的示例,但如果您使用的是MVC,那么实现起来相当简单(对于WebForms来说基本相同)。

可以在此处找到Web API示例以帮助您入门: CorsHandler.cs

此外,如果您需要支持IE 7,8或9,您可能需要查看jQuery扩展库,例如jQuery-ajaxTransport-XDomainRequest

修改

如果您想查看完整的示例(不幸的是再次使用Web API),这里有一篇MSDN文章,其中包含完整的代码示例Implementing CORS support in ASP.NET Web APIs

答案 1 :(得分:0)

您有时也可以在JS中操作document.domain。因此,如果您从www.site.com提供页面,并且您的Ajax服务托管在app.site.com,请将您的document.domain设置为site.com。