Почему наклон я загружаю внешний ресурс из метода загрузки jQuery?

Прямой перевод Вашего алгоритма C следующие:

def bitsoncount(x):
    b = 0
    while x > 0:
        x &= x - 1
        b += 1
    return b
9
задан Hemant 18 August 2009 в 08:38
поделиться

5 ответов

Jquery использует запрос ajax (XMLHttpRequest) для загрузки данных, но браузер позволяет это для ресурсов в том же домене. (В ответах выше упоминается Политика одинакового происхождения ). Вот почему он работает с Temp.htm, но не с www.google.com.

  • Один из способов обойти это - создать серверный сценарий, который будет загружать страницу за вас - в основном прокси. Затем вы вызываете

     $ ('# g'). Load ("load.php? Url = google.com")
    
  • Другое решение - использовать фреймы для связи - я нашел эту библиотеку, похоже, это то, что вам нужно: jquery-crossframe

  • Третий вариант - JSONP , но это не так. Работайте в вашем случае.

Мое мнение - выберите первый вариант с прокси на стороне сервера.


Почему существует та же политика происхождения?

Представьте, что вы проверяете какие-то данные в своей учетной записи ebay. Затем на другой вкладке вы открываете мой сайт, где у меня есть сценарий, который делает серию запросов на ebay (вы все еще вошли в систему) и предлагает вам Audi A8, даже не заметив этого. Раздражает ... Если это был ваш банк, он может напрямую украсть у вас деньги.

Ирония в том, что, несмотря на ту же политику происхождения, указанная выше атака все еще возможна.

35
ответ дан 4 December 2019 в 06:22
поделиться

Из соображений безопасности вам не разрешено выполнять междоменные вызовы AJAX - см. Политика одинакового происхождения .

2
ответ дан 4 December 2019 в 06:22
поделиться

Это связано с безопасностью. Вы можете прочитать все об этом вместе с решением на yahoo .

1
ответ дан 4 December 2019 в 06:22
поделиться

Прежде всего, я должен предположить, что у вас есть очень веская причина делать то, что ссылка делает по умолчанию с помощью JavaScript ...

Основная причина, вероятно, в безопасности: вы НЕ может получить доступ к каким-либо данным за пределами текущего домена из JavaScript.

0
ответ дан 4 December 2019 в 06:22
поделиться

It's worth noting that you are not completely precluded from cross-domain requests in javascript.

As of jQuery 1.2, you can load JSON data located on another domain if you specify a JSON-P callback and the URL that you call supports JSON-P output.

The following example is straight from the jQuery docs. It grabs the last four flickr pics tagged with "cat".

$.getJSON("http://api.flickr.com/services/feeds/photos_public.gne?tags=cat&tagmode=any&format=json&jsoncallback=?",
    function(data){
      $.each(data.items, function(i,item){
        $("<img/>").attr("src", item.media.m).appendTo("#images");
        if ( i == 3 ) return false;
      });
    });

You can read the docs here: http://docs.jquery.com/Ajax/jQuery.getJSON#urldatacallback

Personally I use it to pull in my latest tweets on my blog without having to build it into my server-side code. That also has the added benefit of not having to write error handling code for the often spotty API service from Twitter. Just view source on my blog if you wanna see it: http://joreteg.com

1
ответ дан 4 December 2019 в 06:22
поделиться
Другие вопросы по тегам:

Похожие вопросы: