我如何设置 url 来自 AJAX 的路线
how can i set url of route from AJAX
WEB(路由):
Route::get('/ajax-cat/edit/{id}', [App\Http\Controllers\AjaxCRUDController::class, 'categoryEdit'])->name('ajax.categoryEdit');
AJAX代码:
$(document).ready(function () {
$("#categoryBtn").click(function () {
$("#catTable").show();
let html = '';
let i = 0;
$.ajax({
url: '/ajax-cat',
type: "GET",
success: function (data) {
for (const x of data) {
html += `<tr>
<th scope="row">${++i}</th>
<td>${x.name}</td>
<td><a href="{{route('ajax.categoryEdit',${x.id})}}" class="btn btn-danger">Edit</a></td>
</tr>`;
}
$("#catTableBody").html(html);
}
});
});
});
来自浏览器的图片:
但我想要 Link 这样:127.0.0.1:8000/ajax-cat/edit/2
您不能像这样合并不同的语言语法。
{{ }}
来自 Blade 指令。
https://laravel.com/docs/8.x/blade
x.id
是在您的 javascript 代码块中定义的变量。
您可以做的是:
var url = '{{route("ajax.categoryEdit", ":id")}}';
url = url.replace(':id', x.id);
然后您可以在 html 代码中连接 javascript 变量。
WEB(路由):
Route::get('/ajax-cat/edit/{id}', [App\Http\Controllers\AjaxCRUDController::class, 'categoryEdit'])->name('ajax.categoryEdit');
AJAX代码:
$(document).ready(function () {
$("#categoryBtn").click(function () {
$("#catTable").show();
let html = '';
let i = 0;
$.ajax({
url: '/ajax-cat',
type: "GET",
success: function (data) {
for (const x of data) {
html += `<tr>
<th scope="row">${++i}</th>
<td>${x.name}</td>
<td><a href="{{route('ajax.categoryEdit',${x.id})}}" class="btn btn-danger">Edit</a></td>
</tr>`;
}
$("#catTableBody").html(html);
}
});
});
});
来自浏览器的图片:
但我想要 Link 这样:127.0.0.1:8000/ajax-cat/edit/2
您不能像这样合并不同的语言语法。
{{ }}
来自 Blade 指令。
https://laravel.com/docs/8.x/blade
x.id
是在您的 javascript 代码块中定义的变量。
您可以做的是:
var url = '{{route("ajax.categoryEdit", ":id")}}';
url = url.replace(':id', x.id);
然后您可以在 html 代码中连接 javascript 变量。