18.05.2013, 22:39
|
Интересующийся
|
|
Регистрация: 18.05.2013
Сообщений: 10
|
|
Возврат двух типов данных для одного запроса
Добрый день, подскажите, пожалуйста.
Есть аякс запрос который должен вернуть html код и javascript.
Сейчас возвращаю html, а в нем пишу <script>...</script>.
Писать каждый раз в html <script>...</script> не очень удобно, а типы данных для возврата могут быть либо html либо script, есть способ вернуть отдельно html, а отдельно script в рамках одного запроса?
|
|
18.05.2013, 22:42
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
hitenok,
Приведите минимальный код текущего возврата
|
|
18.05.2013, 22:59
|
Интересующийся
|
|
Регистрация: 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>
|
|
18.05.2013, 23:02
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
hitenok,
И Вам нужно раздельно получить контенты ?
Или что-то другое ?
В принципе - если есть признаки различия контента
Т.е к примеру
в HTML лишь одна строка, далее идет скрипт... ну и тд...
Можно к примеру поставить длинный разделитель
<p>
Действие совершено.
==***********1234567890*************==
$(document).ready(function(){
$("#id").slideUp(200);
});
return false;
});
</p>
И распарсить регуляркой
Последний раз редактировалось Deff, 18.05.2013 в 23:07.
|
|
18.05.2013, 23:04
|
Интересующийся
|
|
Регистрация: 18.05.2013
Сообщений: 10
|
|
Мне желательно получить тот же результат без передачи <script>.
А только передать
<p>Действие совершено.</p>
и
$("#id").slideUp(200);
|
|
18.05.2013, 23:06
|
Интересующийся
|
|
Регистрация: 18.05.2013
Сообщений: 10
|
|
Другими словами я пытаюсь понять можно ли объединить в одном запросе типы данных html и script.
Т.е. вопрос скорее оптимизации процесса, чем его создания.
Последний раз редактировалось hitenok, 18.05.2013 в 23:09.
|
|
18.05.2013, 23:14
|
без статуса
|
|
Регистрация: 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.
|
|
18.05.2013, 23:16
|
Интересующийся
|
|
Регистрация: 18.05.2013
Сообщений: 10
|
|
Я видимо не правильно все-таки изложил суть вопроса...
Если возвращать данные типом html, то ответ будет строка html кода которая может содержать и javascript код.
Можно так же вернуть тип script, то ответ будет воспринят заранее как javascript код и выполниться и html код там будет ошибочным.
А можно ли объединить два способа в один запрос?
|
|
18.05.2013, 23:21
|
без статуса
|
|
Регистрация: 25.05.2012
Сообщений: 8,219
|
|
hitenok,
Я не понимаю задачи - ибо как то летели два кракодила - один зеленый - другой на сервер
А зачем ?
Не устраивает тег скрипт ? - запрашивайте просто текстовый файл
|
|
18.05.2013, 23:24
|
Интересующийся
|
|
Регистрация: 18.05.2013
Сообщений: 10
|
|
Сообщение от Deff
|
hitenok,
Не устраивает тег скрипт ?
|
Не то чтобы не устраивает, пытаюсь узнать оптимально ли поступаю, вот и все.
А задача проста, оптимизация программирования, так как проще писать то, что нужно вывести, чем каждый раз делать обертку для javascript кода, когда он нужен.
|
|
|
|