gpt4 book ai didi

javascript - Ajax 在每个循环 Laravel 5.4 中添加按钮

转载 作者:行者123 更新时间:2023-11-30 15:15:48 25 4
gpt4 key购买 nike

我正在尝试在 foreach 循环中创建一个“添加按钮”。并使用ajax提交。但是我很难找出我到底做错了什么,我的 JS 知识很差。

这是我的代码。

查看:

 @foreach ($lots as $lot)
@if (count($lot->comments) >= 1)
<span class="glyphicon glyphicon-ok"></span>
@else
<form id="favorites-button" data-id="{{ $lot->lot_id }}">
{{ csrf_field() }}
<input type="hidden" name="body" value="0_o" class="form-control">
<button type="submit" class="btn btn-xs btn-primary">Favorites</button>
</form>
@endif
@endforeach

这是我的JS

 @section('js')
<!-- Ajax add to favorites -->
<script type="text/javascript">
$("document").ready(function(){
$("#favorites-button").submit(function(e){
e.preventDefault();
var button = $(this);
var url = '/lots/' + button.data('id') + '/comment';
var body = $("input[name=body]").val();
var dataString = 'body='+body;
$.ajax({
type: "POST",
url : url,
data : dataString,
dataType : "json",
success : function(data){

}

},"json");

});
});
</script>
@endsection

这是我的路线:

Route::post('/lots/{lot}/comment', 'CommentsController@add');

还有我的 Controller :

public function add(Lot $lot)
{
Comment::create([
'body' => request('body'),
'lot_id' => $lot->lot_id,
'user_id' => auth()->user()->id,
'bid' => $lot->bid,
'lot_date' => $lot->lot_date,
'auction_name' => $lot->auction_name,
'pics_urls' => $lot->pics_urls,
'company' => $lot->company,
'model_name_en' => $lot->model_name_en,
'model_type_en' => $lot->model_type_en,
'scores_en' => $lot->scores_en,
'model_year_en' => $lot->model_year_en,
'color_en' => $lot->color_en,
'displacement' => $lot->displacement,
'transmission_en' => $lot->transmission_en,
'start_price_en' => $lot->start_price_en,
'inspection_en' => $lot->inspection_en,
'grade_en' => $lot->grade_en,
'equipment_en' => $lot->equipment_en,
'mileage_num' => $lot->mileage_num,
'result_en' => $lot->result_en,
'auct_ref' => $lot->auct_ref,
]);

return "ok";
}

所以我认为问题也出在我在 foreach 循环中使用的 ID 中。这意味着循环中的所有表单都具有相同的 ID。所以我需要重新考虑我的整个方法。有人知道我该怎么做吗?

最佳答案

<script type="text/javascript">
$("document").ready(function(){
$("#favorites-button").submit(function(e){
e.preventDefault();
var button = $(this);
var url = '/lots/' + button.data('id') + '/comment';
var body = $("input[name=body]").val();
$.ajax({
type: "POST",
url: url,
data: {
body: body,
_token: '{{ csrf_token() }}'
},
dataType: "json",
success: function(data){
console.log('success');
}

},"json");

});
});
</script>

我认为这有帮助。

关于javascript - Ajax 在每个循环 Laravel 5.4 中添加按钮,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44484084/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com