Wes*_*ley 7 javascript sharepoint intranet cross-domain sharepoint-2010
我正在使用Microsoft内部SharePoint站点,我需要从跨域SharePoint站点提取列表数据.
出于各种原因,我不想使用Silverlight,现在也无法使用Business Data Connectivity.
有没有一种简单的方法来使用JavaScript或类似的东西来实现这一目标?
Jon*_*ski 10
" 简单吗?" 不完全是.鉴于您的要求,特别是"无服务器端 ",这是不可能的.
但是,如果您可以放弃该要求,则可以使用一些选项来启用跨域请求.
有体面的支持,为跨来源资源共享的XMLHttpRequest
和微软的XDomainRequest
.但是,这将要求远程服务器在响应中包含正确的标头,以允许您的源/域发出请求.
<% Response.AddHeader("Access-Control-Allow-Origin", "*") %>
Run Code Online (Sandbox Code Playgroud)
一个常见的选项是JSONP,它使用<script>
带有callback
全局函数名称的参数加载资源.由于JSON基于JavaScript文字,因此不会出现相同的浏览器支持问题,但远程服务器必须知道如何构造输出,并且仅限于GET
请求.
// <script src="http://other.dom/resource?callback=loadResource"></script>
loadResource( [ {"id": 1, "name": "foo"}, {"id": 2, "name": "bar"} ] );
Run Code Online (Sandbox Code Playgroud)
如果您要求的远程服务器无法(或不会)进行调整以支持跨域请求,那么您在服务器上创建服务器端代理几乎就剩下了.
AjaxPatters.org描述了一般模式,可以找到许多.NET实现,包括John Chapman和跨域代理项目.
归档时间: |
|
查看次数: |
10875 次 |
最近记录: |