Возврат двух типов данных для одного запроса
Добрый день, подскажите, пожалуйста.
Есть аякс запрос который должен вернуть html код и javascript. Сейчас возвращаю html, а в нем пишу <script>...</script>. Писать каждый раз в html <script>...</script> не очень удобно, а типы данных для возврата могут быть либо html либо script, есть способ вернуть отдельно html, а отдельно script в рамках одного запроса? |
hitenok,
Приведите минимальный код текущего возврата |
$("#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> |
hitenok,
И Вам нужно раздельно получить контенты ? Или что-то другое ? В принципе - если есть признаки различия контента Т.е к примеру в HTML лишь одна строка, далее идет скрипт... ну и тд... Можно к примеру поставить длинный разделитель <p> Действие совершено. ==***********1234567890*************== $(document).ready(function(){ $("#id").slideUp(200); }); return false; }); </p> И распарсить регуляркой |
Мне желательно получить тот же результат без передачи <script>.
А только передать <p>Действие совершено.</p> и $("#id").slideUp(200); |
Другими словами я пытаюсь понять можно ли объединить в одном запросе типы данных 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; }); |
Я видимо не правильно все-таки изложил суть вопроса...
Если возвращать данные типом html, то ответ будет строка html кода которая может содержать и javascript код. Можно так же вернуть тип script, то ответ будет воспринят заранее как javascript код и выполниться и html код там будет ошибочным. А можно ли объединить два способа в один запрос? |
hitenok,
Я не понимаю задачи - ибо как то летели два кракодила - один зеленый - другой на сервер А зачем ? Не устраивает тег скрипт ? - запрашивайте просто текстовый файл |
Цитата:
А задача проста, оптимизация программирования, так как проще писать то, что нужно вывести, чем каждый раз делать обертку для javascript кода, когда он нужен. |
Часовой пояс GMT +3, время: 20:34. |