Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 18.05.2013, 22:39
Интересующийся
Отправить личное сообщение для hitenok Посмотреть профиль Найти все сообщения от hitenok
 
Регистрация: 18.05.2013
Сообщений: 10

Возврат двух типов данных для одного запроса
Добрый день, подскажите, пожалуйста.
Есть аякс запрос который должен вернуть html код и javascript.
Сейчас возвращаю html, а в нем пишу <script>...</script>.
Писать каждый раз в html <script>...</script> не очень удобно, а типы данных для возврата могут быть либо html либо script, есть способ вернуть отдельно html, а отдельно script в рамках одного запроса?
Ответить с цитированием
  #2 (permalink)  
Старый 18.05.2013, 22:42
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

hitenok,
Приведите минимальный код текущего возврата
Ответить с цитированием
  #3 (permalink)  
Старый 18.05.2013, 22:59
Интересующийся
Отправить личное сообщение для hitenok Посмотреть профиль Найти все сообщения от hitenok
 
Регистрация: 18.05.2013
Сообщений: 10

$("#test").live("click", function(){
$.ajax({
type: "POST",
url: "/scripts/ajax/test.ajax.php",
data: "",
dataType: "html",
success: function(html){
$("#test").html(html);
}
});
return false;
});

Возвращает:
<p>Действие совершено.</p>
<script type="text/javascript">
$(document).ready(function(){
$("#id").slideUp(200);
});
});
</script>
Ответить с цитированием
  #4 (permalink)  
Старый 18.05.2013, 23:02
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

hitenok,
И Вам нужно раздельно получить контенты ?

Или что-то другое ?
В принципе - если есть признаки различия контента
Т.е к примеру
в HTML лишь одна строка, далее идет скрипт... ну и тд...
Можно к примеру поставить длинный разделитель
<p>
Действие совершено.
==***********1234567890*************==
 $(document).ready(function(){
 $("#id").slideUp(200);
 });
 return false;
 });
</p>

И распарсить регуляркой

Последний раз редактировалось Deff, 18.05.2013 в 23:07.
Ответить с цитированием
  #5 (permalink)  
Старый 18.05.2013, 23:04
Интересующийся
Отправить личное сообщение для hitenok Посмотреть профиль Найти все сообщения от hitenok
 
Регистрация: 18.05.2013
Сообщений: 10

Мне желательно получить тот же результат без передачи <script>.
А только передать
<p>Действие совершено.</p>
и
$("#id").slideUp(200);
Ответить с цитированием
  #6 (permalink)  
Старый 18.05.2013, 23:06
Интересующийся
Отправить личное сообщение для hitenok Посмотреть профиль Найти все сообщения от hitenok
 
Регистрация: 18.05.2013
Сообщений: 10

Другими словами я пытаюсь понять можно ли объединить в одном запросе типы данных html и script.
Т.е. вопрос скорее оптимизации процесса, чем его создания.

Последний раз редактировалось hitenok, 18.05.2013 в 23:09.
Ответить с цитированием
  #7 (permalink)  
Старый 18.05.2013, 23:14
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от hitenok
Другими словами я пытаюсь понять можно ли объединить в одном запросе типы данных html и script.
Можно, при наличии или добавке признака разделения
ранее оно разделялось тегами, можно разделить искуственным разделителем

Ксать контенты легко и сейчас разделяются
$("#test").live("click", function(){
 $.ajax({
 type: "POST",
 url: "/scripts/ajax/test.ajax.php",
 data: "",
 dataType: "html",
 success: function(html){

var scriptCnt = $(html).find('script')[0].text;
$(html).find('script').remove();
alert(scriptCnt +'\n'+$(html).html())

 }
 });
 return false;
 });

Последний раз редактировалось Deff, 18.05.2013 в 23:18.
Ответить с цитированием
  #8 (permalink)  
Старый 18.05.2013, 23:16
Интересующийся
Отправить личное сообщение для hitenok Посмотреть профиль Найти все сообщения от hitenok
 
Регистрация: 18.05.2013
Сообщений: 10

Я видимо не правильно все-таки изложил суть вопроса...
Если возвращать данные типом html, то ответ будет строка html кода которая может содержать и javascript код.
Можно так же вернуть тип script, то ответ будет воспринят заранее как javascript код и выполниться и html код там будет ошибочным.
А можно ли объединить два способа в один запрос?
Ответить с цитированием
  #9 (permalink)  
Старый 18.05.2013, 23:21
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

hitenok,
Я не понимаю задачи - ибо как то летели два кракодила - один зеленый - другой на сервер

А зачем ?
Не устраивает тег скрипт ? - запрашивайте просто текстовый файл
Ответить с цитированием
  #10 (permalink)  
Старый 18.05.2013, 23:24
Интересующийся
Отправить личное сообщение для hitenok Посмотреть профиль Найти все сообщения от hitenok
 
Регистрация: 18.05.2013
Сообщений: 10

Сообщение от Deff Посмотреть сообщение
hitenok,
Не устраивает тег скрипт ?
Не то чтобы не устраивает, пытаюсь узнать оптимально ли поступаю, вот и все.

А задача проста, оптимизация программирования, так как проще писать то, что нужно вывести, чем каждый раз делать обертку для javascript кода, когда он нужен.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Возврат данных из дочерного окна igod Элементы интерфейса 0 11.05.2011 16:30
Скрипт для вставки личных данных в Опере praeeo Opera, Safari и др. 2 30.12.2010 11:52
Деление одного ajax запроса на несколько. qwerty12311 AJAX и COMET 8 05.10.2010 22:54
Вставка данных в textarea из модального окна (для Markitup) Roman Koff jQuery 0 26.08.2010 23:21
Какие инструменты нужны для авт.чтения данных с сайта Evgeny2006 Общие вопросы Javascript 3 18.02.2009 16:07