Best way to handle Cross Domain on SharePoint Intranet w/o server side, silverlight, DBC etc

11,390

"Simple?" Not exactly. Given your requirements, particularly "w/o server side," this isn't possible.

However, if you can forego that requirement, you have a few options for enabling cross-domain requests.

CORS

There's decent support for Cross-Origin Resource Sharing for XMLHttpRequest and Microsoft's XDomainRequest. Though, this will require that the remote server include the proper headers in the response to allow your origin/domain to make the request.

<% Response.AddHeader("Access-Control-Allow-Origin", "*") %>

JSONP

A common option is JSONP, which loads the resource in a <script> with a callback parameter with the name of a global function. Since JSON is based on JavaScript literals, this won't have the same browser-support issues, but the remote server will have to know how to construct the output and it's limited to GET requests.

// <script src="http://other.dom/resource?callback=loadResource"></script>

loadResource( [ {"id": 1, "name": "foo"}, {"id": 2, "name": "bar"} ] );

Server-side Proxy

If the remote server you're requesting from can't (or won't) be adjusted to support cross-domain requests, you're pretty much left with making a Server-Side Proxy on your server.

The general pattern is described at AjaxPatters.org and a number of .NET implementations can be found, including John Chapman's and the Cross-Domain Proxy project.

Share:
11,390
Wesley
Author by

Wesley

Updated on July 10, 2022

Comments

  • Wesley
    Wesley almost 2 years

    I'm working on a Microsoft internal SharePoint site, and I need to pull in List data from a cross domain SharePoint site.

    I don't want to use Silverlight, for various reasons, and Business Data Connectivity is not possible right now.

    Is there a simple way to use JavaScript or something like it to accomplish this?

  • Wesley
    Wesley over 12 years
    I'll give JSONP a try and let you know. Server side simply isn't allowed by the IT team that governs the sites. Silverlight can do this, but it's much slower and is really a sub-optimal experience for the end user.
  • Ken
    Ken over 12 years
    omg, I should read the posts more carefully before answering. Sorry about that.
  • Jess
    Jess almost 11 years
    This is one of the best, concise descriptions I have seen in one place. Thank you!
  • Vignesh Subramanian
    Vignesh Subramanian about 9 years
    should i add the header in default page of the site?
  • Vignesh Subramanian
    Vignesh Subramanian about 9 years
    @Wesley how can i access for cross domain?