Статические файлы JSON по CDN через JSONP

У меня есть большой объем статических/редко изменяющихся данных в формате JSON. Для улучшения моей производительности приложения MVC ASP.NET я хотел бы переместить их в CDN (Облачная Передняя сторона Amazon).

Однако, когда я делаю это, перекрестная доменная политика умирает, и jQuery заставляет вызов метода ОПЦИЙ HTTP вместо HTTP ДОБРАТЬСЯ, и Amazon отклоняет requst с "403 Запрещенными" ответами.

JSONP мог бы быть путем вокруг этого, но так как файлы статичны и на CDN нет никакого способа перенести JSON в пользовательскую функцию. Однако я могу воссоздать их перенесенный с известным именем функции. Например:

{"LineDetails":{"LineNo":"3109","DbId":9 ....}}

Я могу сделать что-то как:

JsonWrapping({"LineDetails":{"LineNo":"3109","DbId":9 ....}});

Имя функции "JsonWrapping" будет тем же для всех файлов.

Для jQuery действительно ли возможно загрузить данные JSON через JSONP, если это перенесено в то же имя функции как показано выше? Мое чтение jQuery, который JSONP - то, что jQuery создает некоторых пользовательских одно имя функции использования времени для запроса JSONP. Это может быть переопределено?

Спасибо за помощь.

10
задан Mike Weerasinghe 21 July 2010 в 05:24
поделиться

1 ответ

Я только что обнаружил, что это как-то возможно. Я решил это так:

$(document).ready(function(){
    $.getJSON("http://example.com/staticjsonfile.json",function(data){
    //callback function isn't here
    }
});
function JsonWrapping(data){
    //It's really here
    alert(data);
}

Это не идеально, так как вы теряете привязку к событию, которое вызвало Ajax запрос. Так что требуется некоторый хакерский подход. Тем не менее, это вроде как позволяет сделать работу. Я был бы очень открыт для лучшего решения.

4
ответ дан 4 December 2019 в 01:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: