Почему некоторые междоменные запросы JSON не работают, а другие - нет?

У меня небольшие проблемы с пониманием бит безопасности вокруг JSON, потому что часто вещи, которые теоретически не должны работать, по-видимому, работают. AFAIK, вызовы из сценария на странице, которая находится в домене A, не должны иметь возможность получать данные из домена B. Но в приведенном ниже коде вызовы одного внешнего домена терпят неудачу, тогда как другой проходит. И ни один из них не является упакованным вызовом JSON (jsonp).

Почему это? Не следует ли запретить обоим проходить проверки безопасности браузера? Я получаю такие же результаты в Chrome и Firefox. Если я размещу указанную ниже html-страницу на dropbox.com, Chrome выдаст мне следующее сообщение об ошибке:

XMLHttpRequest не может загрузить http://www.odinfond.no/rest/fund/calc/fundReturn?&id=300&oneTimeInvestment=100000&oneTimeInvestmentDate=2009-11-01&endDate=2010-11-01¤cy=NOK . Источник http://dl.dropbox.com не является разрешено Access-Control-Allow-Origin.

Ответ JSON, который я получил бы, если бы вызов прошел, можно увидеть, щелкнув по этой прямой ссылке . Вызов другой службы успешно возвращается. Я размещаю приведенный ниже код в Dropbox. Попробуйте здесь.




 
  

  JSON/JSONP test
  
 

 
  
  

Use Firebug to see JSON response

5
задан oligofren 10 July 2013 в 17:13
поделиться