Skip to content

No support for cross-domain JSONP? #11

Description

@jifka

Forgive me if this has been covered before, but I'm having an issue utilizing JSONP to make cross-domain ajax calls.

The jquery-win8 library is working very well for just about everything else, though. If an ajax call uses 'jsonp' the call is made within a WinRT application, the typical "An app can’t load remote web content in the local context." error is generated.
For example:

$.ajax({
    url: "http://external_server.com/api_endpoint",
    dataType: 'jsonp',
    contentType: "application/json; charset=utf-8",
    data: {message: "some_message"},
    success: function(rdata){ 
        console.log("success!");
    },
    error: function(edata){
        console.log("ERROR:" + edata.status + ", " + edata.statusText);
    }
});

I have come up with a workaround, using an IFRAME executing in the web context (url protocol of "ms-appx-web:"), and then using .postMessage to tunnel back and forth, with the IFRAME script making the actual JSONP call above. But this seems like a lot of work and will incur some performance penalties for the indirection.

Question(s):

  • Is JSONP ever going to be natively supported by this library?
  • If not, (or if it will take a while) are there any other approaches to supporting cross-domain ajax that we can take?
  • Is the IFRAME Tunneling approach unsound? Is there a possibility of MS shutting that down in the future?

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions