使javascript方法在所有情况下都能工作(在ajax调用之前和之后)
我正在开发laravel 5.5,我想在其中创建一个页面,其中只包含一个表格,显示所有附件类型的项目。与附件表具有基本的一对多关系 在这个页面上,我有一个字段,可以用一篇基本的Ajax文章创建新条目,所有内容都在一个使javascript方法在所有情况下都能工作(在ajax调用之前和之后),javascript,jquery,ajax,post,http-delete,Javascript,Jquery,Ajax,Post,Http Delete,我正在开发laravel 5.5,我想在其中创建一个页面,其中只包含一个表格,显示所有附件类型的项目。与附件表具有基本的一对多关系 在这个页面上,我有一个字段,可以用一篇基本的Ajax文章创建新条目,所有内容都在一个$(document.ready())中,下面是代码: var name = $('#name').val(); $.Ajax({ url: '/accessory-type', type: 'POST', data: {name: n
$(document.ready()
)中,下面是代码:
var name = $('#name').val();
$.Ajax({
url: '/accessory-type',
type: 'POST',
data: {name: name},
success: function (data) {
$.Ajax({
url: null,
type: 'get',
success: function (data) {
var my_rows = $(data).find('table').html();
$('.accessory_type-table').html(my_rows);
}
});
}
});
问题是:我想通过单击图标或类似的东西来删除一行,但是如果我将代码放在$(document.ajaxComplete
之外,那么在Ajax调用之后,代码就不起作用了。如果我把$(document).ajaxComplete
放在里面,没有Ajax调用代码就无法工作
代码完全相同,所以我不想重复两次
如果我为它创建了一个函数,那么问题仍然存在,我应该将我的click()
方法放在哪里才能使它在所有情况下都工作
下面是我想调用的代码:
$(document).ajaxComplete(function () {
$('.fa-trash').click(function () {
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.Ajax({
type: "DELETE",
url: "/accessory-type/" + $(this).attr('id'),
success: function (data) {
$.Ajax({
url: null,
type: 'get',
success: function (data) {
var table = $(data).find('table').html();
$('.accessory_type-table').html(table);
}
});
}
});
})
})
我正在接受培训,所以任何帮助/最佳实践/建议或任何事情都是好的,不要犹豫!:)感谢您的帮助您好,您能否详细介绍一下“没有Ajax调用,代码就无法工作”?”s参数函数应该是在99%的情况下放置事件处理程序的位置。所有代码都在
$(document.ready
中。这里面有我的$(文档).ajaxComplete
。但是如果我以前没有使用ajax帖子创建新条目,那么就不会处理click()
方法。我尝试了一些console.log,但是在请求之前没有到达代码。