javascript - 我如何在 Laravel 中生成一个带有占位符/可替换值的路由,以便在运行时在 JS 中使用?

标签 javascript php laravel laravel-blade laravel-routing

我有一个以 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/

相关文章:

javascript - JSTree 防止类拖动

由字符串索引的Javascript数组无法使用JSON.stringify转换为JSON?

javascript - 在 Zepto 中使用 select2 插件

PHP While 循环中的 While 循环

javascript - 使用 document.location.href 或 window.location 或 window.location.href 在 Chrome 的 beforeunload 期间未重定向到指定的 URL

php - 水平样式化​​ Wordpress 小部件

javascript - 无法在 WordPress UI 中解析 json 字符串

php - Laravel 5.2 - pluck() 方法返回数组

laravel - 在 Laravel 中将数据从 SQL 记录到 Redis

php - Laravel 网站上的虚假帐户创建预防