Что такое JSONP и чем он отличатеся от JSON
JSON — это просто формат данных. JSONP — это методология использования этого формата в кросс-доменных запросах.
JSONP — это старый трюк, придуманный для обхода ограничения безопасности в веб-браузерах, которое запрещает нам получать данные, находящиеся на другом сайте/сервере.
Идея заключается в том, что вместо использования ajax для запроса данных, мы используем тег <script src="externalURL">
. В src указанном в скрипте наша страница получает и запускает JS код.
Сервер на который был отправлен такой запрос должен отдать нам правильный JS код (JSONP ответ). В этом ответе сервер вместо JSON стоки, отдает JS код, где JSON данные передаются как параметр функции (какое название будет у функции мы указываем в URL). На своей стороне мы создаем JS функцию, которая по итогу будет запущена сервером.
Получается что при загрузке и выполнении скрипта у нас запускается js функция, где первый параметр — это JSON объект полученный с удаленного сервера. В этой функции мы и обрабатываем полученные с другого сервера данные.