首页 > 解决方案 > 如何在 Javascript 中使用路由

问题描述

我想在 javascript 中使用路由,但我得到一个错误Route [product.like + productid] not defined.有什么办法可以使用路由代替吗?

阿贾克斯

 $.ajax({
        method: 'post',
        url: '{{ route('product.like'  productid) }}',
        data: {
            'user_id': userid,
            'product_id': productid,
        },

路线

  Route::post('product/like/{id}', ['as' => 'product.like', 'uses' => 'LikeController@likeProduct']);

标签: javascriptajaxlaravellaravel-5

解决方案


您可以将路由助手与字符串占位符一起使用,然后将占位符替换为 javascript 变量。

function AddFavourites(productid, userid) {
    let url = "{{ route('product.like', ['id' => ':id']) }}".replace(':id', productid);

    $.ajax({
        method: 'post',
        url: url,
        data: {
            'user_id': userid,
        },
    }).done(function(response, status){
        //
    }).fail(function(jqXHR, textStatus, errorThrown){
        //
    });
}

推荐阅读