Javascript CRUD-如果页面未刷新,则逐个添加和删除不工作
我有一个恼人的问题,我无法解决 我正在Symfony项目中生成CRUD操作。我对Add方法提出了一个AJAX请求,该方法可以正常工作 之后,我创建了用于删除的AJAX请求方法 当我添加我的新实体对象时,表会被重新加载,而不会刷新页面 问题是,若我在添加后单击“删除”,它会抛出一个找不到ID的错误Javascript CRUD-如果页面未刷新,则逐个添加和删除不工作,javascript,jquery,ajax,symfony,symfony4,Javascript,Jquery,Ajax,Symfony,Symfony4,我有一个恼人的问题,我无法解决 我正在Symfony项目中生成CRUD操作。我对Add方法提出了一个AJAX请求,该方法可以正常工作 之后,我创建了用于删除的AJAX请求方法 当我添加我的新实体对象时,表会被重新加载,而不会刷新页面 问题是,若我在添加后单击“删除”,它会抛出一个找不到ID的错误 /** * @Route("/user/{id}", name="user_delete", options={"expose"=true}
/**
* @Route("/user/{id}", name="user_delete", options={"expose"=true})
*/
public function delete($id)
{
$em = $this->getDoctrine()->getManager();
$$user = $em->getRepository(User::class)
->findOneby(['id' => $id]);
if (!$user) {
throw $this->createNotFoundException('No User found for id '.$id);
}
$em->remove($user);
$em->flush();
return $this->json(["message" => "SUCCESS"]);
}
例如,我添加了ID=2的实体。DIV被重新加载。现在我点击删除2,上面写着:
找不到id1的用户
问题是它总是在页面刷新后添加我删除的最后一个ID
现在,如果我刷新页面,然后尝试删除,它将捕获ID=2并删除它。现在,我添加ID=3而不刷新页面,它将抛出:
找不到id2的用户
我想这可能与我的添加表单有关:
添加表格:
$('#form-submit').on('click', function (e) {
e.preventDefault();
$.ajax({
type: "POST",
url: '/subscription/add',
data: $('form#subscription-form').serialize(),
processData: false,
success: function () {
$("#user-table").load(location.href + " #user-table");
$('#addUser').modal('hide');
displayNotif('success', 'check', 'User created successfully');
},
error: function (xhr, status, error) {
var ErrorMessage = JSON.parse(xhr.responseText);
$('#general-error').html(ErrorMessage.message);
}
});
});
有人能帮忙吗
$(document).ready(function () {
$('.user_delete').on('click', function () {
let removeUrl = $(this).attr('data-remove-url');
$('.remove-user').attr('data-remove-url', removeUrl);
});
$(".remove-user").click(function (e) {
let removeUrl = $(this).attr('data-remove-url');
e.preventDefault();
$.ajax({
url: removeUrl,
type: 'DELETE',
success: function()
{
$("#user-table").load(location.href + " #user-table");
$('#confirmDelete').modal('hide');
displayNotif("danger", "warning", "User deleted successfully");
}
});
});
});
我正在添加所有内容,以便您了解我在做什么:
<a href data-toggle="modal" data-target="#confirmDelete" data-remove-url="{{ path('user_delete', {'id':user.id}) }}" class="btn user_delete">x</a>
选项1:
“删除”按钮的“单击”事件无法正常工作
试着替换
$(".remove-user").click
与
备选案文2:
data-remove-url
此属性不会相应更新。检查您的DOM以验证检查此项抱歉,这对我的coce没有帮助@豪斯
data-remove-url