Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 08.01.2015, 19:33
Аспирант
Отправить личное сообщение для Officeoff.ru Посмотреть профиль Найти все сообщения от Officeoff.ru
 
Регистрация: 14.03.2014
Сообщений: 64

jquery post data
Всем привет. Некоторое время назад уже задавал похожий вопрос. Но все таки хотел, уяснить для себя эту тему.
Мне нужно при отправке post запроса отобразить фрагмент полученный с сервера.

$('#div').append(data); // Так получаю все что приходит с сервера
$('#div').append($('<div>').html(data).find('#one').html()); // Так получаю ответ находящийся в <div id='one'>

Все вроде работает. Но хочется более красивой реализации. Да и понять эту тему хотелось бы...
Может кто нибудь объяснить?!
Ответить с цитированием
  #2 (permalink)  
Старый 08.01.2015, 20:33
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Красиво - это когда сервер выдает только то, что тебе требуется. А не генерит по-напрасну целую страницу, которая почти целиком, кроме #one пойдет в утиль. За такое по рукам надо бить .
__________________
В личку только с интересными предложениями
Ответить с цитированием
  #3 (permalink)  
Старый 08.01.2015, 23:51
Аспирант
Отправить личное сообщение для Officeoff.ru Посмотреть профиль Найти все сообщения от Officeoff.ru
 
Регистрация: 14.03.2014
Сообщений: 64

Сообщение от danik.js Посмотреть сообщение
Красиво - это когда сервер выдает только то, что тебе требуется. А не генерит по-напрасну целую страницу, которая почти целиком, кроме #one пойдет в утиль. За такое по рукам надо бить .
А кто сказал, что остальная часть идет в утиль?! ))
Она вся необходима иначе бы я не стал заставлять сервак чрезмерно напрягаться. Я пока еще в своем уме.
И вопрос касался не этого.
И все таки как лучше вывести фрагмент кода с сервера в отдельный div при помощи jquery?
Ответить с цитированием
  #4 (permalink)  
Старый 09.01.2015, 11:46
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Задача - распарсить html. Для начала - что тебе шлет сервер? Страницу, включая doctype, или фрагмент?

Если страницу, то для парсинга подойдет DOMParser, причем в jQuery он не используется. Для дальнейшего импорта узлов - document.importNode()

Если фрагмент, то в браузере нет API для парсинга фрагмента (и наверное быть не может). В таком случае нужно создать элемент-контекст данного фрагмента (а для этого ты должен заранее знать для какого контекста предназначен фрагмент). Обычно подходит <div>. И присвоить innerHTML, и тогда браузер автоматически запустит парсер в режиме парсинга фрагмента и создаст DOM. Ну а далее делаешь выборку элементов и добавляешь их в DOM документа.


var $context = $('<div/>', {html: response});
$div.append($context.find('#one'));
$div.append($context.find('#two'));
__________________
В личку только с интересными предложениями
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Jquery post. объекты и методы-обработчики ArtJS AJAX и COMET 2 29.12.2013 22:06
Какая разница между post запросами jquery и ajax? Rooner jQuery 2 18.06.2012 14:29
Jquery ajax в Operа к ASP.NET скрипту по таймеру, IIS выдает 403.9 Zhirinovsky AJAX и COMET 0 23.02.2012 12:56
jquery и POST korner jQuery 6 27.06.2010 03:52
jQuery Ajax Rater Plugin и массив POST - Нужна помощь TROODON jQuery 12 30.12.2009 22:44