У меня возникли проблемы с подключением некоторых точек, недавно узнавших о JSONP. Вот мое понимание:
- Междоменные XmlHttpRequests для любого контента (включая JSON) запрещены из-за той же политики происхождения. Это защищает от XSRF.
- Тебе разрешен иметь тэг script с src, который возвращает JSONP - некоторый JSON, добавленный внутри вызова функции Javascript (например, "Foo" )
- У вас может быть некоторая реализация "foo" на странице, которая будет вызываться при возврате данных JSONP, и вы можете делать что-то с данными JSON, переданными этой функцией.
Почему это нормально, чтобы получать междоменные данные, если они поступают через JSONP, но не если они поступают через JSON?
Есть ли предположение, что JSON склонен разрешать XSRF, но JSONP не является? Если да, существует ли какая-то причина для этого, кроме JSONP, являющегося некоторым де-факто форматом данных, который никогда не будет предоставлять данные, которые позволяют XSRF? Почему JSONP, а не какой-либо произвольный корневой тег вместо XML?
Заранее благодарю за ваши ответы, пожалуйста, сделайте мой мозг снова работоспособным после того, как вы не смогли это понять.