Разница между dataType jsonp и JSON

Загружаю автозагрузку Jquery UI, глядя на remote-jsonp.html. Это функция ajax, но я открываю консоль.. Я не вижу никакого запроса в моей консоли...

В чем разница между dataType: "jsonp" и dataType; "JSON"

$( "#city" ).autocomplete({
        source: function( request, response ) {
            $.ajax({
                url: "http://ws.geonames.org/searchJSON",
                dataType: "jsonp",
                data: {
                    featureClass: "P",
                    style: "full",
                    maxRows: 12,
                    name_startsWith: request.term
                },
                success: function( data ) {
                    response( $.map( data.geonames, function( item ) {
                        return {
                            label: item.name + (item.adminName1 ? ", " + item.adminName1 : "") + ", " + item.countryName,
                            value: item.name
                        }
                    }));
                }
            });
        },

Ссылка http://jqueryui.com/demos/autocomplete/remote-jsonp.html

Ответы

Ответ 1

dataType: jsonp для междоменного запроса, это означает запрос к другому домену и dataType: json для одного и того же запроса с тем же доменом.

Загружает в блок JSON с помощью JSONP. Добавляет дополнительный "? Callback =?" к конец вашего URL, чтобы указать обратный вызов. Отключает кеширование путем добавления параметр строки запроса "_ = [TIMESTAMP]", до URL-адреса, если кэш для параметра установлено значение true.

Ознакомьтесь с той же политикой происхождения

Подробнее о jQuery AJAX

Ответ 2

С JSONP вы не должны видеть запрос ajax, если это то, что вы ищете. Однако вы должны увидеть запрос на ресурс, потому что JSONP используется для междоменных вызовов, чтобы извлекать данные из разных доменов.

Он возвращает данные JSON, завернутые в имя функции. jQuery обрабатывает имя функции за кулисами и передает данные в ваш обработчик успеха. Данные загружаются динамически, создавая элемент script с атрибутом src, указывающим на вызываемую службу и затем прикрепляемую к DOM браузера. Затем браузер делает запрос к ресурсу, и веб-служба отвечает функцией обратного вызова и данными.