powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Передача большого объёма данных и JSONP
15 сообщений из 15, страница 1 из 1
Передача большого объёма данных и JSONP
    #38596301
janco
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здравствуйте. Стоит задача получать скрипт по технологии JSONP (кроссдоменно). Проблема в том, что этот скрипт формируется на server2 динамически и из server1 на server2 нужно передать большой объём данных (порядка 30-50Кб), на основании которых и формируется ответ. Т.е. метод GET не пройдёт, как делается в JSONP. А метод POST через обычный AJAX нельзя использовать, поскольку запрос кроссдоменный. Отправка формы в IFRAME тоже не подходит по той же причине.
Не могу ничего придумать, как решить эту проблему. Пожалуйста посоветуйте, как можно с этим справиться.
...
Рейтинг: 0 / 0
Передача большого объёма данных и JSONP
    #38596306
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
janco,

Подойдёт. А что попробовать лень?
...
Рейтинг: 0 / 0
Передача большого объёма данных и JSONP
    #38596313
janco
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Что именно подойдёт?
...
Рейтинг: 0 / 0
Передача большого объёма данных и JSONP
    #38596315
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
30-50К. Ферштейн?
...
Рейтинг: 0 / 0
Передача большого объёма данных и JSONP
    #38596339
janco
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Нет не ферштейн. Я пробовал - и не лень. Ответ от server2
414 Request-URI Too Large
...
Рейтинг: 0 / 0
Передача большого объёма данных и JSONP
    #38596532
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в сторону websockets смотрел?
...
Рейтинг: 0 / 0
Передача большого объёма данных и JSONP
    #38596537
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jancoЗдравствуйте. Стоит задача получать скрипт по технологии JSONP (кроссдоменно). Проблема в том, что этот скрипт формируется на server2 динамически и из server1 на server2 нужно передать большой объём данных (порядка 30-50Кб), на основании которых и формируется ответ. Т.е. метод GET не пройдёт, как делается в JSONP. А метод POST через обычный AJAX нельзя использовать, поскольку запрос кроссдоменный. Отправка формы в IFRAME тоже не подходит по той же причине.
Не могу ничего придумать, как решить эту проблему. Пожалуйста посоветуйте, как можно с этим справиться.Ни фига не понял.

Задача: из server1 на server2 нужно передать большой объём данных (порядка 30-50Кб).

При чём тут кроссдоменные запросы? Постройте общение на уровне сервера.

А метод POST через обычный AJAX ( XMLHttpRequest Level 2 ) давно уже поддерживает Cross-Origin Resource Sharing.
...
Рейтинг: 0 / 0
Передача большого объёма данных и JSONP
    #38596538
Если IE < 8 не сильно надо, то XMLHTTPRequest2(XDomainRequest) вместо JSONP
...
Рейтинг: 0 / 0
Передача большого объёма данных и JSONP
    #38596647
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jancoНет не ферштейн. Я пробовал - и не лень. Ответ от server2
414 Request-URI Too Large
Ну так настройте сервер, что бы Request-URI не был Too Large.
...
Рейтинг: 0 / 0
Передача большого объёма данных и JSONP
    #38596776
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jancoОтправка формы в IFRAME тоже не подходит по той же причине.подходит, чего это нет?
...
Рейтинг: 0 / 0
Передача большого объёма данных и JSONP
    #38596789
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ответ сервера происходит через IFRAME.contentWindow.name
Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
function postData(url, data, callback) {
    var timeOut = 120000, complete = false, defaultResponse = "{}";
    var IFRAME = document.createElement("iframe"), FORM = document.createElement("form");
    function processResponse(resp) {
        $(IFRAME).remove();
        var response = decodeURI(resp);
        if (callback) callback(response);
    };
    $(IFRAME).appendTo(document.body).css('display', 'none');
    function onloader() {

        var err = false, name;
        try { name = IFRAME.contentWindow.name }
        catch (e) { err = true; }
        if (err || name==undefined) {
            IFRAME.onload = onloader;
            IFRAME.contentWindow.location = 'about:blank';
            setTimeout(function() {
                if (!complete) {
                    $(IFRAME).unbind();
                    complete = true;
                    processResponse(defaultResponse);
                };
            }, timeOut);
        } else if (IFRAME.contentWindow.name.length == 0) {
            IFRAME.onload = onloader;
            var DOCUMENT = IFRAME.contentWindow.document;
            if (!DOCUMENT.body) DOCUMENT.appendChild(DOCUMENT.createElement('body'));
            $(FORM).appendTo(DOCUMENT.body).attr("action", url).attr("method", "post").attr("accept-charset", "utf-8").attr("enctype", "application/x-www-form-urlencoded");
            for (var x in data) $("<input type='hidden'/>").attr("name", x).val(data[x]).appendTo(FORM);
            FORM.submit();
        } else {
            //alert(IFRAME.contentWindow.name);
            complete = true;
            processResponse(IFRAME.contentWindow.name);
            $(IFRAME).unbind();
        }
    }
    IFRAME.onload = onloader;
    IFRAME.contentWindow.location = 'about:blank';
};
...
Рейтинг: 0 / 0
Передача большого объёма данных и JSONP
    #38596924
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
skyANAПри чём тут кроссдоменные запросы? Постройте общение на уровне сервера.+1


не рубящий в кашеЕсли IE < 8 не сильно надо, то XMLHTTPRequest2(XDomainRequest) вместо JSONPтоже вариант.
только XDomainRequest кукисы передавать не умеет, если не ошибаюсь.
...
Рейтинг: 0 / 0
Передача большого объёма данных и JSONP
    #38597353
janco
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ShSergeНу так настройте сервер, что бы Request-URI не был Too Large.
Интересно, кто мне даст это сделать, компилировать апач ? Ещё бы свой написать посоветовали. Вопрос стоит в написании клиентской части на javascript, а Вы сервера конфигурировать предлагаете.
skyANAНи фига не понял.
Задача: из server1 на server2 нужно передать большой объём данных (порядка 30-50Кб).
При чём тут кроссдоменные запросы? Постройте общение на уровне сервера.
При том, что 2 сайта на разных доменах. На Cross Origin надо посмотреть, спасибо.

AntonariyОтвет сервера происходит через IFRAME.contentWindow.name
Интересный подход, насколько я понял, то скрипт, который будет сгенерирован и загружен в IFRAME должен менять свойство name на нужное значение, а скрипт в главном окне его считывать , так? В принципе должно подойти, только я почему-то думал, что это свойство будет запрещено читать... Буду пробовать, спасибо за код.

Яростный Мечтолько XDomainRequest кукисы передавать не умеет, если не ошибаюсь.
кукисы не надо передавать. Если нужны, то я их могу считать и передать как элементы формы.
...
Рейтинг: 0 / 0
Передача большого объёма данных и JSONP
    #38597465
Фотография Изопропил
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
jancoА метод POST через обычный AJAX нельзя использовать, поскольку запрос кроссдоменный
к передачам сервер-сервер кроссдоменность отношения не имеет
...
Рейтинг: 0 / 0
Передача большого объёма данных и JSONP
    #38597509
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
janco Интересный подход, насколько я понял, то скрипт, который будет сгенерирован и загружен в IFRAME должен менять свойство name на нужное значение, а скрипт в главном окне его считывать, так?да
...
Рейтинг: 0 / 0
15 сообщений из 15, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / Передача большого объёма данных и JSONP
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]