Ajax成功的Laravel路由的多个参数

时间:2017-06-10 04:22:49

标签: javascript php ajax laravel laravel-5.4

我想在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]}

但它也会出现同样的错误。还尝试了一些其他的变化,但仍然没有运气。任何工作都将受到高度赞赏。

1 个答案:

答案 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);