Форум программистов, компьютерный форум, киберфорум
PHP для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.66/29: Рейтинг темы: голосов - 29, средняя оценка - 4.66
0 / 0 / 1
Регистрация: 23.08.2013
Сообщений: 101

Как выполнить скрипты, подгружаемые через ajax?

06.11.2015, 20:03. Показов 5547. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
JavaScript
1
2
3
4
5
6
7
8
9
10
 {
                
                $.ajax({
                    url: 'страница.php',
                    success: function(data) 
                    {
                        $('#info').html(data);
                    }
                });
              }

содержимое страницы
JavaScript
1
2
3
4
<center> <div class="hider" style=""><script type="text/javascript" charset="UTF-8" src="http://адрес"></script></div></center>
<script type="text/javascript">
скрипт
</script>
прочитал что аякс подгружает как текст. чтобы скрипты выполнялись надо что то прописать отдельно. с аяксом не знаком нужна помощь
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
06.11.2015, 20:03
Ответы с готовыми решениями:

Как обойти, Ajax не работает и выполнить php скрипт
Здравствуйте, есть ссылка по нажатию отрабатывает Ajax и выводит Hello World! Как при отключенном JavaScript, по нажатию на ту же ссылку,...

Получить данные, подгружаемые AJAX из WebBrowsera
Здравствуйте Есть сайт, которые грузит данные аяксом; при попытке получить эти данные через webBrowser1.DocumentText - этих данных нет...

Не работают скрипты в подгруженном через AJAX документе
Добрый день! Использую AJAX для подгрузки контента: function loadHTML(sURL) { var request=null; // пытаемся создать объект для...

6
1943 / 1768 / 825
Регистрация: 23.01.2014
Сообщений: 6,230
06.11.2015, 20:29
Алексей92, почему Вы создали тему в разделе PHP?
0
0 / 0 / 1
Регистрация: 23.08.2013
Сообщений: 101
06.11.2015, 20:32  [ТС]
я не давно на этом форуме ошибся. перенесут пусть
0
Эксперт PHP
4925 / 3920 / 1620
Регистрация: 24.04.2014
Сообщений: 11,441
06.11.2015, 20:39
Цитата Сообщение от Алексей92 Посмотреть сообщение
прочитал что аякс подгружает как текст. чтобы скрипты выполнялись надо что то прописать отдельно.
Вставить этот текст на страницу.

Не по теме:

Цитата Сообщение от Алексей92 Посмотреть сообщение
я не давно на этом форуме
Регистрация: 23.08.2013

0
 Аватар для prudkiy
181 / 149 / 55
Регистрация: 21.07.2013
Сообщений: 958
06.11.2015, 21:09
Цитата Сообщение от Алексей92 Посмотреть сообщение
прочитал что аякс подгружает как текст
Видимо вы что-то перепутали. AJAX не есть язык, это просто технология передачи данных и получения данных от сервера, пускай - мост между js и php
Если взять к примеру подгрузку контента то будет дело примерно так.
Допустим есть список с 5 пунктами, при клике по какому мы должны вывести определенный контент.
HTML5
1
2
3
4
5
6
7
<ul>
    <li id="data1">Кнопка 1</li>
    <li id="data2">Кнопка 2</li>
    <li id="data3">Кнопка 3</li>
    <li id="data4">Кнопка 4</li>
    <li id="data5">Кнопка 5</li>
</ul>
и блок в который будет заполнять
HTML5
1
2
3
<div id="content">
 
</div>
не забываем же конечно подключить jQuery, можно конечно и без него но так будет намного проще )
При клике отлавливаем id элемента. Передаем на сервер php скрипту который нам вернут соответствующий контент.
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
$(document).ready(function() {
    
$('ul li').click(function(){
    var thisId = $(this).attr('id'); // id кликнутого элемента
    
    function article(data, d){ // принимаем данные
            // если получаем массив приведем полученный массив к стандарту js data = JSON.parse(data);
            $('#content').html(''); // чистим
            $('#content').append(data); // добавляем в контейнер полученные данные 
        }
        
        function loadTime(){
            $('#content').html(''); // чистим
            $('#content').html('подождите ...'); // ждем
        }
    
    
    $.ajax({ // запрос ajax
                    url: "action.php", // путь к обработчику
                    type: "POST", // метод передачи
                    data: ({mod: thisId}), // данные ключ/значение, если нужно несколько то через запятую
                    dataType: "html", // ожидаемый тип данных при получении
                    beforeSend: loadTime, // фукнкция ожидания, будет работать во время запроса/ответа, не обязательна
                    success: article // функция приема данных
               });
        });
})
В скрипте данные принимаете как обычно, разве что если в запросе был массив то пришел бы он в формате json
и чтоб его привести к формату php его нужно провести через функцию json_decode()
PHP
1
2
3
4
5
6
7
8
9
10
11
12
<?php
if(isset($_POST['mod'])){
    // Что то делаем, в зависимости от запроса. К примеру полученный контент с базы будет в переменной article
    if($_POST['mod'] == 'data1'){
        
    }
    
    echo $article; // будет ответ на запрос
 
    sleep(1); // сон 1 сек. чтоб было видно функцию ожидания
}
?>
замечу что если ответом будет массив то изначально нужно привести его к формату json пропустив через функцию json_encode

Собственно все, как видете с ajax тут работы не много. В этом деле более важно знания js, ну php конечно ))
0
0 / 0 / 1
Регистрация: 23.08.2013
Сообщений: 101
06.11.2015, 21:12  [ТС]
попробую разобраться
0
Эксперт PHP
 Аватар для Fedor Vlasenko
936 / 693 / 236
Регистрация: 01.02.2015
Сообщений: 1,848
06.11.2015, 21:25
JavaScript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
var loader = (function (src, callback) {
    var doc = window.document, cache = {};
    return function (src, callback) {
        if (cache.hasOwnProperty(src)) {
            callback && (callback());
        } else {
            var el = doc.createElement('script'), loaded = 0;
            el.src = src, doc.body.appendChild(el), cache[src] = 1;
            if (callback) {
                el.onload = el.onreadystatechange = function () {
                    if ((el.readyState && el.readyState !== 'complete' && el.readyState !== 'loaded') || loaded)
                        return false;
                    el.onload = el.onreadystatechange = null, loaded = 1, callback();
                };
            }
        }
    };
}());
//подключаем скрипт, если надо выполняем функцию обратного вызова (выполнится после загрузки скрипта)
loader('test1.js', me);
function me() {
    alert('This callback Me');
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
06.11.2015, 21:25
Помогаю со студенческими работами здесь

Блоки, которые были загружены через ajax: не подгружаются скрипты
кто знает что делать ? или это какая та ошибка с моей стороны ?

Как выполнять скрипты из ajax.ResposeText, без jquery
как выполнять скрипты из ajax.resposeText, без jquery?

Как выполнить AJAX-запрос в React?
Я хочу получить данный с сервера и сохранить их в state. class NavBar extends React.Component { constructor(props) { ...

Как выполнить JS вернувшийся в AJAX GET запросе?
Возвращается код вида: @model IEnumerable&lt;HomeIndexViewModel&gt; &lt;script id=&quot;markers-script-id&quot;&gt; window.onload = function () { ...

Spring: JSP + AJAX запрос, как правильно выполнить
Доброго времени суток. Подскажите пожалуйста, такой вопрос. Есть .jsp файл, на который мне надо подцепить результаты метода random...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Новые блоги и статьи
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка.
Programma_Boinc 23.12.2025
Thinkpad X220 Tablet — это лучший бюджетный ноутбук для учёбы, точка. Рецензия / Мнение/ Перевод https:/ / **********/ gallery/ thinkpad-x220-tablet-porn-gzoEAjs . . .
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru