【发布时间】:2019-11-03 22:56:29
【问题描述】:
我正在尝试实现一种功能,用户可以喜欢和不同的产品使用 javascript 我遵循了这个Laravel - Favourite / Un-Favourite button 但它对我不起作用,无法点击按钮,关于如何修复的任何想法这个?
路线
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
}
});
}
刀片文件
@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
【问题讨论】:
-
检查您的刀片文件。这是错误的
onClick="addToFavourites({{$product->id}}" -
我检查了它并添加了缺少的代码,但仍然无法正常工作@AndriyLozynskiy
-
检查 ajax url
url: 'product/like/{id}',。{id}是什么? -
{id}是产品->id @porloscerrosΨ -
看起来它被硬编码为
'product/like/{id}',。我觉得应该是url: 'product/like/'+product_id,
标签: javascript php laravel laravel-5