我有一个以 JSON 格式返回发布数据的路由:
Route::get('posts/{post}/data', 'PostController@getData')->name('data.post');
前端JS调用:
<a href="#" data-post-id="{{ $post->id }}" class="post-links">{{ $post->title }}</a>
点击是这样绑定(bind)的:
$(".post-links").click(function() {
var postId = $(this).data('post-id');
$.get( "{{ route('data.post') }}" + postId, function(data) {
// process the data...
});
});
这里的问题是这个 get
的 URL 必须在前端根据点击的链接生成,但是 Laravel 已经处理了 route
渲染 View 时的方法。如果没有 id
参数,路由生成将失败。如何获取带有参数的路由基础?
最佳答案
在 Js 中你可以做这样的事情。
var postId = $(this).data('post-id');
var url = "{{ route('data.post', ':url') }}";
url = url.replace(':url', postId);
对于多个通配符
var postId = $(this).data('post-id');
var anotherId = 1;
var url = "{{ route('test', [':url',':url1']) }}";
url = url.replace(':url', postId);
url = url.replace(':url1', anotherId);
希望对你有帮助。
关于javascript - 我如何在 Laravel 中生成一个带有占位符/可替换值的路由,以便在运行时在 JS 中使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47526364/