Я новичок в AJAX, я пытаюсь прочитать целую страницу и изменить элемент внутри нее без обновления.Ajax newbie learning (PHP JQuery)
У меня есть страница, которая выглядит следующим образом:
Я использую PHP & JQuery. Всякий раз, когда я нажимаю на любой tr
, он получает идентификатор и помещает данные, назначенные в db, этому идентификатору в форме. Поэтому я могу обновить данные пользователя.
Очевидно, что, когда форма пуста, она является стандартной вставкой в базе данных.
Когда вы нажимаете последний td
каждого tr
(Eliminar), он удаляет этого пользователя из базы данных.
Мои файлы:
- Контроллер, который создает страницу (crud.php).
- База данных, содержащая каждый метод, связанный с базой данных (database.php)
- Файлы CSS и шаблон с базовым html, js.
Я хочу, чтобы все эти обновлять страницы с помощью Ajax, но я получаю что-то вроде:
Всей моя страница была вставлена в форме вместо замены моей страницы с новым , или заменяя только форму новым.
Любой отзыв/руководство, которое может помочь мне в обучении? Я искал весь связанный контент AJAX на этом сайте. Также JQuery сайт ...
Я не очень понимаю, как работает AJAX и как связать его с JS и PHP
Соответствующий код:
//Capturador de eventos
$(document).ready(function(){
//Clickar en cualquier lado del tr (menos el ultimo td) para actualizar ese registro
$("#tablaDatos tr td:not(:last-child").click(function() {
if (confirm("¿Seguro que desea modificar el registro?")){
$("#idSelected").val($(this).closest('tr').attr('id'));
var data = $('#idSelected').serialize();
$.post(
'crud.php',
{data: data},
function(response){
$('#result').html(response);
}
);
return false;
}else
return false;
});
//Clickar en el borrar del listado para eliminar ese registro
$("#tablaDatos input").click(function(){
if (confirm("¿Seguro que deseas borrarlo del registro?")){
$("#idSelected").val($(this).closest('tr').attr('id'));
$("#eliminar").val("Eliminar");
var data = $('#idSelected').serialize();
$.post(
'crud.php',
{data: data},
function(response){
$('#result').html(response);
}
);
return false;
}else
return false;
});
// Clickar en Alta/Modificar para enviar los datos al crud a través de post
$('#submit').click(function() {
var data = $('#envioDatos').serialize();
$.post(
'crud.php',
{data: data},
function(response){
$('#envioDatos').html(response);
$("#envioDatos input, textarea").val('');
});
return false;
});
});
<?php
// INCLUDES
include 'lib/pintarHTML.php';
include 'lib/database.php';
// VARS
$tableName = 'ALEJANDRO';
$clientes = array();
$page = null;
$body = null;
$elemSel = null;
$obj_pintar = new pintarHTML();
$ID = null;
$result = null;
$type = null;
// CONECTION DB
$obj = new database();
// POST READ
if (isset ($_POST)) {
mpr($_POST);
if ($_POST['alta'] == "Alta" && empty ($_POST['id'])) {
// Llamo a insertar
$result = $obj->insert ($_POST);
} else
if ($_POST['modificacion'] == "Modificacion" && ! empty ($_POST['id'])) {
// Llamo a modificar
$result = $obj->update ($_POST);
} else
if ($_POST['eliminar'] == "Eliminar" && ! empty ($_POST['idSelected'])) {
// Llamo a eliminar
$result = $obj->delete ($_POST);
} else
if ($_POST['idSelected'] && empty ($_POST ['eliminar'])) {
// Elemento Seleccionado
$ID = $_POST['idSelected'];
}
}
// Client list
$clientes = $obj->select ($tableName);
// Title
$body .= $obj_pintar->pintarTitulo ('LISTADO DE CLIENTES');
// Check ID
if (isset ($ID)) {
// Formulario relleno con los datos del usuario para modificarlos
$elemSel = $obj->select ($tableName, '*', 'id=' . $ID, null);
$body .= $obj_pintar->pintarFormulario ($elemSel);
} else {
// Formulario vacío para alta de usuario
$body .= $obj_pintar->pintarFormulario ($elemSel);
}
// Page echo
if (!empty($result)) {
$body .= $obj_pintar->pintarMessage($result);
}
$body .= $obj_pintar->pintarTable ($clientes);
$page = $obj_pintar->composeHTML ($body);
echo $page;
// Debug
function mpr($value, $text = null) {
echo "<pre>" . $text;
print_r ($value);
echo "</pre>";
}
?>
не выглядит так, как здесь разбирается PHP. покажите свой код и используемое расширение, и если PHP запущен/установлен и как вы обращаетесь к этому файлу. –
2 секунды, а «эксперт» уже -1, это просто приводит к тому, что новичок пытается учиться. Вау, спасибо! – Roucher
Опубликовать свой код Ajax – Corni