首页 > 解决方案 > 获取数据并通过ajax附加它

问题描述

我有我的数据通过 ajax 返回,但它没有以正确的方式显示。

一

正如您在我的屏幕截图中看到的那样,我可以正确获取 id,data-id""但在我的表单操作中它不会返回 correclty。

代码

var html = '<tr>';
html += '<td>'+data.data.id+'</td>';
html += '<td>'+data.data.code+'</td>';
html += '<td>'+data.data.name+'</td>';
// this part
html += '<td><Form method="DELETE" action="{{route("customers.destroy", '+data.data.id+')}}"> @csrf @method("DELETE")<button type="submit" data-id="'+data.data.id+'" class="btn btn-block btn-sm delete btn-danger">Delete</button></form></td></tr>';

$('#table_data').prepend(html);

任何想法?

标签: javascriptajaxlaravel

解决方案


你不能在php中编写js。{{route("customers.destroy", '+data.data.id+')}}这不起作用,因为您在 php echo 中使用 js 变量。一个解决方案是使用 url 创建一个 js 变量。就像是

var url = '{{ route("customers.destroy", ":id") }}';
url = url.replace(':id', data.data.id);

并像现在一样使用它

 html += '<td><form method="POST" action="+url+">
 @csrf @method("DELETE")
 <button type="submit" data-id="'+data.data.id+'" class="btn btn-block btn-sm delete btn-danger">Delete</button>
 </form></td></tr>';

我已将表单方法从更改delete为,post因为您无法使用delete方法提交表单。


推荐阅读