我想在Ajax Success Method之后在Laravel中创建动态按钮。我也能做到这一点。但是当我尝试在锚标签中传递路由时,问题就出现了。我正在添加完整的JavaScript代码以便于理解:
var data = JSON.parse(data);
var finalData = '';
var search_body_data = $("#searchTableBody");
for (i = 0; i < data.length; i++) {
finalData = finalData + ` <tr> <td> ${data[i]['data_id']} </td> `;
finalData = finalData + ` <td> ${data[i]['type']} </td> `;
finalData = finalData + ` <td><a class="btn btn-primary btn-block" href="{{ route('notification_detail',['type'=>data[i]['type'],'doc_id'=>str_replace('/','-',data[i]['data_id']),'part'=>"0"]) }}">Detail</a></td> `;
finalData = finalData + ` </tr> `;
}
search_body_data.html(finalData);
但是这给了我以下错误:使用未定义的常量数据 - 假设'数据'。我也尝试过:
${'type'=>data[i]}
但它也会出现同样的错误。还尝试了一些其他的变化,但仍然没有运气。任何工作都将受到高度赞赏。
答案 0 :(得分:1)
解决方法是在变量中定义基本路由并在成功回调函数中附加参数
var data = JSON.parse(data);
var finalData = '';
var base_url = "{{ url('notification_detail') }}";
var search_body_data = $("#searchTableBody");
for (i = 0; i < data.length; i++) {
finalData = finalData + ` <tr> <td> ${data[i]['data_id']} </td> `;
finalData = finalData + ` <td> ${data[i]['type']} </td> `;
finalData = finalData + ` <td><a class="btn btn-primary btn-block" href=" `+
base_url + `/`+ data[i]['type'] + `/` +
data[i]['data_id'].replace('/', '-') +
`/0>Detail</a></td> `;
finalData = finalData + ` </tr> `;
}
search_body_data.html(finalData);