Перекрестный домен jquery get

Я видел несколько примеров кросс-домена с ajax, но он не работает.

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" lang="fr">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />

    <title></title>
        <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
    </head>
    <body>

        <script type="text/javascript" >
    $(document).ready(function () {
            var url = "http://api.twitter.com/1/statuses/user_timeline.json?screen_name=AssasNet&include_rts=1";

            $.get(url, function (data) {
        console.log(data)
        alert(data);
        });
        });

        </script>

    </body>
</html>

Я пытаюсь использовать хром, и появляется следующая ошибка:

XMLHttpRequest cannot load http://api.twitter.com/1/statuses/user_timeline.json?screen_name=AssasNet&include_rts=1. Origin null is not allowed by Access-Control-Allow-Origin. 

Ответ 1

Вы не можете использовать $.get, потому что это делает вызов ajax, который будет перекрестно-происходить и, таким образом, заблокирован той же самой политикой происхождения, и Twitter API, к которому вы пытаетесь получить доступ, не поддерживает Совместное использование ресурсов для перекрестных источников (или, если это так, он не позволяет ни начинать null, ни http://jsbin.com, который я попробовал).

API поддерживает JSONP (что не является истинным вызовом ajax), поэтому просто изменив $.get на $.ajax, указав JSONP works:

$.ajax({
  url: url,
  dataType: "jsonp",
  success: function (data) {
    console.log(data)
    alert(data);
  }
});

Живой пример | Источник