Ответ 1
Да, JSONP немного отличается при отображении, поэтому ваш сервер должен его поддерживать.
JSON выглядит так:
{ "name": "value" }
В то время как JSONP выглядит так:
functionName({ "name": "value" });
Если все, что вы используете, поддерживает его, вы закрыты, но это не то же самое, что поддержка JSON. Когда сервер получает запрос, например: http://example.com/json?callback=functionName
, вышесказанное - это то, что вы должны сделать, потому что, как он выглядит на странице, это:
<script type="text/javascript" src="http://example.com/json?callback=functionName"></script>
Это означает, что что-то, что выполняется, должно быть возвращено, в качестве иллюстрации это действительно:
<script type="text/javascript">
functionName({ "name": "value" });
</script>
Если ваш сервер не поддерживает JSONP, это будет эффективно:
<script type="text/javascript">
{ "name": "value" }
</script>
... и вы получите синтаксические ошибки, так как это недействительный JavaScript.