【发布时间】:2021-07-02 16:55:15
【问题描述】:
我对 JavaScript 有疑问。我想在不刷新页面的情况下创建 CRUD。我可以创建、读取和删除项目。但是当我更新项目时它会出现问题。 当单击表 tr 双击或创建编辑图标时,我希望函数能够工作(我将 id 作为数据发送给函数), 函数通过ID从api获取数据并填写表格 当我第一次提交表单时,它会正确更新表单。但第二次我更新另一个项目并提交它。系统更新此项目和上一个项目 第三次重复这个过程。此时每3行数据根据最后一个数据变化 这散文一次又一次地重复 我用警报记录了 ID。我在下面发送我的 kod。有人可以帮我吗?
const options = {
headers: {'Authorization': "Bearer " + readCookie('AuthToken')}
};
let UrlArgs = {
'action': "read",
'module': "positions",
'sector': "hrm"
};
alert(ids); //**one ID**
urlgen(UrlArgs).then(url => {
axios.get(url + "/" + ids, options)
.then(function (response) {
alert(ids); //**one ID**
let data = response['data'];
$('#PositionEditModal').text("Pozisiya redaktə edilir: " + data['name']);
$("#PositionEditForm input[name=name]").val(data['name']);
$('#PositionEditForm select[name="permission_level"] option').each(function () {
if ($(this).val() == data['permission_level']) {
$(this).attr("selected", "selected");
}
});
alert(ids); **//one ID**
$('.PositionEditModal').modal('show');
$(document).on('click', '#submitUpdate', function () {
let id = data['id'];
alert(id); //**two ID**
// $('#PositionEditForm input, #PositionEditForm select').jqBootstrapValidation({
// preventSubmit: true,
// submitSuccess: function ($form, event) {
// event.preventDefault();
// $this = $('#submitUpdate');
$('#submitUpdate').prop('disabled', true);
let form_data = $("#PositionEditForm").serialize();
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="_token"]').attr('content')
}
});
alert(id);
let editUrl = "";
editUrl = '{{route("erp.panel.hrm.positions.update", ":id")}}';
editUrl = editUrl.replace(':id', id);
$.ajax({
url: editUrl,
method: "POST",
data: form_data,
cache: false,
beforeSend: function () {
$(".beforeSend").hide();
$(".loadingSend").show();
},
success: function () {
setTimeout(function () {
$('#PositionEditForm').trigger('reset');
$('.PositionEditModal').modal('hide')
errorManagment(null, "Vəzifə uğurla redaktə edildi");
}, 1000);
setTimeout(function () {
datafetch();
}, 1000);
},
error: function (request) {
$.each(request.responseJSON.errors, function (key, item) {
errorManagment(item)
});
},
complete: function () {
setTimeout(function () {
$('#submitUpdate').prop("disabled", false);
$(".loadingSend").hide();
$(".beforeSend").show();
}, 800);
}
});
data = "";
// },
})
}).catch(function (error) {
httpMessage(error.response.status).then(message => {
errorManagment(message);
});
});
})
}```
【问题讨论】:
标签: javascript ajax api axios page-refresh