Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/373.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Javascript中使用路由_Javascript_Ajax_Laravel_Laravel 5 - Fatal编程技术网

如何在Javascript中使用路由

如何在Javascript中使用路由,javascript,ajax,laravel,laravel-5,Javascript,Ajax,Laravel,Laravel 5,我想在javascript中使用route,但我得到一个错误route[product.like+productid]未定义。有没有办法改用route 阿贾克斯 路线 您可以使用带有字符串占位符的route helper,然后用javascript变量替换占位符 函数addFavorites(productid、userid){ 让url=“{route('product.like',['id'=>':id'])}”。替换(':id',productid); $.ajax({ 方法:“post”

我想在javascript中使用route,但我得到一个错误
route[product.like+productid]未定义。
有没有办法改用route

阿贾克斯

路线


您可以使用带有字符串占位符的route helper,然后用javascript变量替换占位符

函数addFavorites(productid、userid){
让url=“{route('product.like',['id'=>':id'])}”。替换(':id',productid);
$.ajax({
方法:“post”,
url:url,
数据:{
“用户id”:用户id,
},
}).完成(功能(响应、状态){
//
}).fail(函数(jqXHR、textStatus、errorshown){
//
});
}

我认为您只需要使用
而不是
url:{{route('product.like',$productid)}},
,只要这
$.ajax()
调用位于
.blade.php
中的
标记内,应该可以正常工作。哦,
$productid
需要是一个php变量。如果
productid
是一个JS变量,这种方法将不起作用。我如何定义
productid
,因为我得到了一个错误
未定义的变量:productid
@timliews
$productid
可以从处理此视图的控制器函数传递,因为它应该被定义为URL参数。我有这个按钮,在那里我可以获得产品id
@TimLewisHmm好的,如果你这样做,那么
$productid
将不是一个PHP变量。只是不要使用
路由()
helper,只需使用一个基本字符串:
url:'/product/like/'+productid'
,或者使用
url()
helper:
url:“{{url('/product/like/')}}”+productid
 $.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']);