Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.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和Laravel有相似之处,也有不同之处_Javascript_Php_Laravel_Laravel 5 - Fatal编程技术网

与javascript和Laravel有相似之处,也有不同之处

与javascript和Laravel有相似之处,也有不同之处,javascript,php,laravel,laravel-5,Javascript,Php,Laravel,Laravel 5,我正在尝试实现一个功能,用户可以喜欢和不喜欢使用javascript的产品。我遵循了这一点,但它对我不起作用,不能点击按钮,你知道我如何解决这个问题吗 路线 Route::get('product/like/{id}', ['as' => 'product.like', 'uses' => 'LikeController@likeProduct']); Route::get('product/{product}/unlike','LikeController@destroy')-

我正在尝试实现一个功能,用户可以喜欢和不喜欢使用javascript的产品。我遵循了这一点,但它对我不起作用,不能点击按钮,你知道我如何解决这个问题吗

路线

Route::get('product/like/{id}', ['as' => 'product.like', 'uses' =>   'LikeController@likeProduct']);
Route::get('product/{product}/unlike','LikeController@destroy')->name('product.unlike');
Javascript

 <script>

function addToFavourites(productid, userid) {
var user_id = userid;
var product_id = productid;

$.ajax({
    type: 'post',
    url: 'product/like/{id}',
    data: {
        'user_id': user_id,
        'product_id': product_id,
    },
    success: function () {
        // hide add button
        $('#addfavourites' + product_id).hide();
        // show delete button
        $('#deletefavourite' + product_id).show();
    },
    error: function (XMLHttpRequest) {
        // handle error
    }
});
}

函数addToFavourites(productid、userid){
var user_id=用户id;
var product_id=productid;
$.ajax({
键入:“post”,
url:'product/like/{id}',
数据:{
“用户id”:用户id,
“产品id”:产品id,
},
成功:函数(){
//隐藏添加按钮
$(“#添加收藏夹”+产品id).hide();
//显示删除按钮
$('#deleteFavorite'+product_id).show();
},
错误:函数(XMLHttpRequest){
//处理错误
}
});
}

刃锉

   @if($product->isLiked)
      <div id="addfavourites{{$product->id}}" onClick="addToFavourites({{$product->id}}, {{ Auth::user()->id }})"> unlike </div>
       @else
       <div id="deletefavourite{{$product->id}}" onClick="deleteFromFavourites({{$product->id}}, {{ Auth::user()->id }})" > like </div>
    @endif
@if($product->islike)
不像
@否则
喜欢
@恩迪夫

让您的路线接受post方法,因为您是通过Ajax发布的

Route::post('product/like/{id}',['as'=>'product.like','uses'=>'LikeController@likeProduct']);
路由::post('product/{product}/不同','LikeController@destroy')->name('product.inference');
并使用ES6模板字符串,将CSRF令牌头添加到Ajax请求中

函数addToFavourites(productid、userid){
//多余的
//var user_id=用户id;
//var product_id=productid;
$.ajaxSetup({
标题:{
'X-CSRF-TOKEN':$('meta[name=“CSRF-TOKEN”]).attr('content'))
}
});
$.ajax({
方法:“post”,
url:`/product/like/${productid}`,//使用ES6模板并从根目录指向url/
数据:{
“用户id”:用户id,
“产品id”:产品id,
},
成功:函数(){
//隐藏添加按钮
$(“#添加收藏夹”+productid).hide();
//显示删除按钮
$('#deleteFavorite'+productid).show();
},
错误:函数(XMLHttpRequest){
//处理错误
}
});
}

希望这有助于检查您的刀片文件。这是错误的
onClick=“addToFavourites({{code>product->id}}}”
我检查了它并添加了缺少的代码,但仍然不起作用@andriylozynskiy检查ajax url
url:'product/like/{id}',
。什么是
{id}/code>{id}是产品?
{id@porloscerrosψ看起来像是被编码到
'product/like/{id}“,
。我认为应该是
url:'product/like/'+product_id,
如果喜欢该产品,则按钮将
不喜欢
,因此,如果我单击“不喜欢”按钮,它将消失,并且不会影响数据库,因此它只是删除“不喜欢”按钮,如果不喜欢该产品,则单击“喜欢”按钮,按钮将显示
like
未单击,这意味着未单击like按钮,如果单击,则不会影响数据库,因此它只是更改图标@Saly 3301