запрос такой Код (Javascript): $(document).ready(function() { $('.input_post').submit(function(e) { e.preventDefault(); // Prevent form submission var formData = new FormData(this); // Create a FormData object $.ajax({ url: 'обработчик формы', // Replace with your server-side script URL type: 'POST', data: formData, processData: false, contentType: false, success: function(response) { // Insert the response data at the top of the data block $('.articles').append(response); }, error: function(xhr, status, error) { console.log(error); // Log any errors to the console } }); }); }); php обработчик берет шаблон и подставляет в него данные PHP: foreach ($res as $row){ $html = require __DIR__.'/../tpl/article.php'; } по итогу данные в виде шаблона тот что article добавляются в контейнер articles, но либо в конец или середину как попало в общем либо как то фоном и отображаются только после ручной перезагрузки страницы. в общем ребята поясните как правильно делать надо. --- Добавлено --- смысл задачи - отображение новых постов на главной странице (названий постов). я уже думал может вообще добавлять не надо новый блок, а просто перезагружать блок с постами, тогда там автоматом на php все само добавляется ..у меня логика сделана все работает...не знаю в общем
с сервера возвращаешь JSON данные. На клиенской части эти данные разбираешь и делаешь по ним хтмл блоки и вставляешь. Нафиг с сервера просить шаблоны
Добавьте, пожалуйста, console.log Код (Javascript): success: function(response) { // Insert the response data at the top of the data block console.log(response); $('.articles').append(response); и покажите, что там. В обрабочике по шаблону или как-то иначе должен быть сгенерирован HTML. Хотелось бы увидеть конец кода, начиная с PHP: header('Content-type: text/html; charset=utf-8');
в обработчике формы вставляются данные в базу...так вот задача сразу вытащить из базы название поста, id юзера и вставить в article, а его уже на главную страницу. но я думаю сейчас как человек выше сказал json использовать..похоже проще все это будет. я просто не понял как блок вставить в контейнер и как там пишется в reponse все это...
Если использовать json, то Вам придётся из объекта полученного из json_parse в JS cоздавать HTML. В этом случае не забудьте добать в ajax dataType: "json", и в обработчике PHP: header('Content-Type: application/json; charset=utf-8'); Однако, проще будет использовать, как сейчас, Respose Type по умолчанию т.е. text/html и отправить его из PHP.