Мне нужно проанализировать сообщения JSONP в .NET и найти JSON в этих сообщениях. Существует ли какая-либо актуальная спецификация, описывающая действительное сообщение JSONP?
Я нашел эту запись в блоге (из 2005 г.) Боба Ипполито, в которой указано первое предложение JSONP, где сообщение JSONP может содержать практически любой код JavaScript.
Я также нашел, вероятно, более свежую спецификацию на json-p.org, разрешающую только вызовы функций для функций, указанных в запрашивающем параметре URI с именем callback
.
Наконец Википедия говорит:
Хотя заполнение (префикс) обычно является именем обратного вызова
функция, которая определена в контексте выполнения браузера,
это также может быть присвоение переменной, оператор if или любой другой
Заявление JavaScript. Ответ на запрос JSONP (а именно,
запрос в соответствии с шаблоном использования JSONP) не является JSON и не
анализируется как JSON; возвращаемая полезная нагрузка может быть произвольным JavaScript
выражение, и он не должен включать в себя JSON вообще. Но
условно это фрагмент JavaScript, который вызывает функцию
вызовите некоторые данные в формате JSON.
Итак, существует ли какое-либо глобальное определение, которое дает правильный ответ JSONP и какие конструкции JavaScript разрешены? Стоит ли ожидать какой-либо код JavaScript, потому что это то, что принимают нынешние браузеры (потому что он имеет application/javascript
тип контента)?