Показать сообщение отдельно
  #1 (permalink)  
Старый 16.08.2011, 19:02
Аспирант
Отправить личное сообщение для Kotakota Посмотреть профиль Найти все сообщения от Kotakota
 
Регистрация: 12.07.2011
Сообщений: 71

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