powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / JSONP и Post запрос.
22 сообщений из 22, страница 1 из 1
JSONP и Post запрос.
    #38118491
alex2808
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.
Подскажите, как передать POST запросом JSON на другой домен
и получить назад калбэк функцию для выполнения у себя, в теле которого тоже json.

Перепробовал кучу примеров, не получается.
Может кто-то уже делал подобные вещи?
Поделитесь работающий кодом.
...
Рейтинг: 0 / 0
JSONP и Post запрос.
    #38118494
alex2808
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
интересует именно ajax реализация.
...
Рейтинг: 0 / 0
JSONP и Post запрос.
    #38118507
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JSONP не прокатит.
Какие нафиг примеры? Только ГЕТ.
...
Рейтинг: 0 / 0
JSONP и Post запрос.
    #38118513
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как вариант, люди отправляют себе на сервер запрос постом, а дальше курлом сервер отправляет данные на другой домен.
...
Рейтинг: 0 / 0
JSONP и Post запрос.
    #38118529
alex2808
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В том то и проблема, что я дергаю именно сервер, и у меня никакого промежуточного сервера нет.
...
Рейтинг: 0 / 0
JSONP и Post запрос.
    #38118539
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex2808,

если тот сервер рассчитан на JSONP, то POST передать не получится никак.
...
Рейтинг: 0 / 0
JSONP и Post запрос.
    #38118555
alex2808
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Яростный Меч,
Смысл в том, что я могу просить сервис вернуть мне данный в любом формате.
Но переход кросс-доменный, в том то и дело.

т.е. вернуть данные в формате myfunction({test:343443}) без проблем.
Но данные в запросе я должен передавать через РОST, т.к. нежелательно их светит в get строке.
...
Рейтинг: 0 / 0
JSONP и Post запрос.
    #38118561
Фотография Яростный Меч
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex2808т.е. вернуть данные в формате myfunction({test:343443}) без проблем.это и есть формат JSONP.

а сам механизм JSONP - создание элемента script и добавление его в документ. содержимое скрипта ("myfunction({test:343443})") может быть подтянуто только GET-запросом, так мир устроен.
...
Рейтинг: 0 / 0
JSONP и Post запрос.
    #38118600
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
JSONP и Post запрос.
    #38118650
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Можно отправить полноценный кроссдоменный пост только через ифрейм+contentWindow.name, но сервер должен быть заточен под этот метод. Он должен возвращать html-страницу, в которой есть скрипт, в котором ответ прописывается в window.name.
...
Рейтинг: 0 / 0
JSONP и Post запрос.
    #38118787
ShSerge
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex2808,

Короче - никак. Разве что, как я сказал и как повторил skyANA.
...
Рейтинг: 0 / 0
JSONP и Post запрос.
    #38119225
alex2808
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyМожно отправить полноценный кроссдоменный пост только через ифрейм+contentWindow.name, но сервер должен быть заточен под этот метод. Он должен возвращать html-страницу, в которой есть скрипт, в котором ответ прописывается в window.name.
А пример можно где-то увидеть?
...
Рейтинг: 0 / 0
JSONP и Post запрос.
    #38119451
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
тынц
Этот код я не проверял, я нашел быдловариант на хабре и допилил:
Код: 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");
    var processResponse = function(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 и Post запрос.
    #38124513
alex2808
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А какая технология позволяет послать кроссдоменный запрос без правки сервиса на сервере?
...
Рейтинг: 0 / 0
JSONP и Post запрос.
    #38124527
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
XDomainRequest, но он еще не везде работает. Точнее, почти нигде.
...
Рейтинг: 0 / 0
JSONP и Post запрос.
    #38124547
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AntonariyXDomainRequest, но он еще не везде работает. Точнее, почти нигде.Точнее только в IE8+. А в IE10 уже поддерживается стандартизованый XMLHttpRequest Level 2.
И всё равно на сервере надо конфигурацию правильно настроить.
...
Рейтинг: 0 / 0
JSONP и Post запрос.
    #38124554
alex2808
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А вот если не можешь оказывать влияние на серверную часть, что тогда посоветуете?
...
Рейтинг: 0 / 0
JSONP и Post запрос.
    #38124605
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex2808А какая технология позволяет послать кроссдоменный запрос без правки сервиса на сервере ?

А вот если не можешь оказывать влияние на серверную часть , что тогда посоветуете?Это типа вопросы о разном?
...
Рейтинг: 0 / 0
JSONP и Post запрос.
    #38124661
alex2808
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariyalex2808А какая технология позволяет послать кроссдоменный запрос без правки сервиса на сервере ?

А вот если не можешь оказывать влияние на серверную часть , что тогда посоветуете?Это типа вопросы о разном?

А в чем отличие?
Не могу я на сервере ничего править. Есть просто сервис, дернув который (передавая в роst-е XML с данными), я получаю XML в ответ.
...
Рейтинг: 0 / 0
JSONP и Post запрос.
    #38124759
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex2808Antonariyпропущено...
Это типа вопросы о разном?

А в чем отличие?Кто здесь?

alex2808Не могу я на сервере ничего править.С этого бы и начинал.
Единственный кроссбраузерный способ оправить обычный пост и получить обычный ответ с другого домена — прокси.
Но это уже советовали.
...
Рейтинг: 0 / 0
JSONP и Post запрос.
    #38124777
alex2808
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariyalex2808Не могу я на сервере ничего править.С этого бы и начинал.
Единственный кроссбраузерный способ оправить обычный пост и получить обычный ответ с другого домена — прокси.
Но это уже советовали.
Значит прокси.
Но для этого необходимо иметь свою серверную часть, насколько я понимаю, которая будет просто переадресовывать запрос
на нужный мне сервис?
...
Рейтинг: 0 / 0
JSONP и Post запрос.
    #38124798
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
alex2808, да.
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / JSONP и Post запрос.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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