JSON или JSONP для запросов на другой сервер? Метод GET, для длинных сообщений?
Привет.
Сразу объясню суть задачи: Есть два сервера, назовем их: example1.com и example2.com С сервера example1.com на сервер example2.com должны передаваться данные. Формат выбрал json. Так - как он достаточно прост в структуре, и в следствии этого обладает высокой скоростью передачи. Начал смотреть, что выбрать, JSON или JSONP? Почитав статей понял, что только JSONP обладает возможностью кросдоменных запросов. И вот тут момент один! $.ajax({ type: "POST", url: 'http://localhost/json', data: 'id=5', dataType: "json", success: function(response) { alert('Привет: '+response.hello); } }); Это обычный JSON, отправляемый методом POST. Ответ от сервера (словарь) обрабатываем с помощью success. А теперь JSONP: $.ajax({ type: 'GET', dataType: 'jsonp', data: 'id=5', url: 'http://localhost/jsonp/', success: function (response) { alert('Привет: '+response.hello); } }); Если JSON и JSONP работают по одной технологии, то есть вставляют тег <script src="...">, взаимодействуют с сервером (отправляют и получают ответ), то в чем вообще смысл JSONP? К тому же теряется явное преимущество в виде отправки методом POST, которое есть у JSON! Конечно мы приобретаем + в плане безопасности. В JSONP у нас есть callback, который будет обрабатывать ответ от сервера так, как нам нужно. И самое важное для меня! Мне нужно будет отправлять сообщения, максимальная длинна которых примерно 1000 символов. Насколько я помню, длина GET=256 символам! После тестов оказалось, что методом GET можно отправить намного больше 256 символов, о чем я писал в предыдущем топе http://javascript.ru/forum/jquery/20...tml#post120816. Ну что то я расписался блин... :nono: Подводя итог, вопросы у меня такие: 1. Что нужно использовать для решения моей задачи? JSON или JSONP Если можно с примером! А то я совсем запутался... 2. Какие мысли по поводу передачи длинных сообщений (~1000) методом JSONP, через GET (если именно он мне нужен). Потянет? |
Цитата:
|
есть куча способов пообщаться через домены
|
Эта куча способов размыта сильно.
Хотя я понимаю, что Илья хотел показать все способы, а Вы уже выбирайте, что хотите. Сейчас есть два кандидата: CORS и JSONP У CORS есть куча преимуществ и один огромный минус, который выражается в отсутствии нормальной поддержки его браузерами. JSONP - нет возможности передовать данные методом POST. Я представляю, если у меня будет передаваться такое, например: $.ajax({ type: 'GET', dataType: 'jsonp', data: {id:{'key1':'value1fdsfdsfdsfsdfsdfdsfdsfsdfsdsdfsfsdsdffssdffsd......и т.д. около 1000 символов!','key2':'value2'}}, url: 'http://localhost/jsonp/', success: function (data) { // ... } }); Ну и вообще JSONP больше подходит для получения информации, а не для записи. Стою на распутье, не знаю, что выбрать для решения своей задачи :( |
В прошлой твоей теме кто-то говорил что можно слать POST-запросы на сторонний сервер и получать от него ответы, вот спрашивай у этого человека как это делается.
|
На основе этого способа можно сделать получение данных после POST запроса.
|
Часовой пояс GMT +3, время: 15:24. |