Cross-site AJAX using jQuery

后端 未结 3 1690
野趣味
野趣味 2020-12-03 12:52

I have an existing jQuery plugin which makes a lot of AJAX calls (mostly JSON). I am wondering what is the quickest to allow it to do cross-site calls i.e. the $.get and $.p

相关标签:
3条回答
  • 2020-12-03 13:12

    If you have control over the remote domain or the remote domain has a permissive crossdomain.xml you can drop in a library like flXHR in conjunction with its jQuery plugin.

    0 讨论(0)
  • 2020-12-03 13:28

    You can also use CORS instead of JSONP, works with ff,chrome,safari. CORS is less troublesome to setup and requires only a filter in server-side.

    Please go through this article.Well explained and similar. Only constraint is IE does not support this and older versions of FF,chrome also has some issues.

    http://techblog.constantcontact.com/software-development/using-cors-for-cross-domain-ajax-requests/

    0 讨论(0)
  • 2020-12-03 13:30

    JSONP will allow you to do cross-site calls. See jQuery docs on that matter.

    The concept is simple: instead of doing a normal Ajax call, jQuery will append a <script> tag to your <head>. In order for this to work, your JSON data needs to be wrapped in a function call.

    Your server needs to send information in such way (PHP example):

    $json = json_encode($data);
    echo $_GET['jsonp_callback'] . '(' . $json . ');';
    

    Then, you can use jQuery to fetch that information:

    $.ajax({
      dataType: 'jsonp',
      jsonp: 'jsonp_callback',
      url: 'http://myotherserver.com/getdata',
      success: function () {
        // do stuff
      },
    });
    

    More information is available here: What is JSONP?

    0 讨论(0)
提交回复
热议问题