Привет.
Сразу объясню суть задачи:
Есть два сервера, назовем их: 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 символов, о чем я писал в предыдущем топе
Как с помощью JSON передать серверу словарь с данными?.
Ну что то я расписался блин...
Подводя итог, вопросы у меня такие:
1. Что нужно использовать для решения моей задачи? JSON или JSONP
Если можно с примером! А то я совсем запутался...
2. Какие мысли по поводу передачи длинных сообщений (~1000) методом JSONP, через GET (если именно он мне нужен). Потянет?