Det*_*yer 7 javascript jquery webix
我正在使用Webix UI模式,这就是我使用它的方式:
this.add = function () {
scrollArea.css("overflow", "hidden");
$.ajax({
type: "GET",
url: "/detail/create",
success: function (form) {
webix.message.keyboard = false;
webix.modalbox({
title: "New detail",
buttons: ["Accept", "Decline"],
text: form,
width: 400,
callback: function (result) {
switch (result) {
case "0":
addDetail();
break;
case "1":
break;
}
scrollArea.css("overflow", "auto");
}
});
}
});
function addDetail() {
$.ajaxSetup({
headers: {
'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
}
});
$.ajax({
type: "POST",
url: "/detail/store",
data: $('#detail_add').serialize(),
contentType: "JSON",
processData: false,
success: function () {
}
});
}
};
And form's HTML:Run Code Online (Sandbox Code Playgroud)
<form action="" id="detail_add" method="post">
<input type="text" name="name" placeholder="Name">
<input type="text" name="article" placeholder="Article">
<input type="hidden" name="location_id" placeholder="1">
<input type="hidden" name="_token" value="{{ csrf_token() }}"/>
</form>Run Code Online (Sandbox Code Playgroud)
当我单击模态中的接受时,我的JSON为空.我该如何解决?我试图通过console.log获取输入值,但它也是空的.
我已经找到了解决方案。这真的很简单,但我犯了一个错误。我需要使用
switch (result) {
case "0":
addDetail;
break;
case "1":
break;
}
Run Code Online (Sandbox Code Playgroud)
代替
switch (result) {
case "0":
addDetail();
break;
case "1":
break;
}
Run Code Online (Sandbox Code Playgroud)
因为 addDetail() 立即调用函数,因此我发送的数据为空