提问人:Sequoia 提问时间:10/3/2023 更新时间:10/3/2023 访问量:50
如何将ajax值传递给控制器
How to pass ajax value to controller
问:
我有一个位于 foreach 内部的表单,我想将 data-order-id=“{{ $user->order_id }}” 传递给控制器。我的问题是data-order-id的值在console.log中显示得很好,但是在调用变量时它在控制器中为null。
刀片.php:
<form action="{{ route('seller_order_all') }}" id="getID" method="post">
@csrf
<div class="col d-flex flex-column toggle-action" id="{{ $user->order_id }}-{{ $user->product_name }}-{{ $user->status }}" style="position: relative; border: 0.5px solid #8D8D8D; padding-left: 5px; margin-top: 8px; margin-left: -92px; width: 124.075px; background: #ffffff;">
@if ($user->status == 'To Pay')
<button class="btn to-pay-button" name="OrderStatus" value="To Pay" type="submit" data-order-id="{{ $user->order_id }}" style="padding: 0px; text-align: left; padding-bottom: 0px; font-size: 15px;">To Ship</button>
@endif
@if ($user->status == 'To Ship')
<button utton class="btn to-pay-button" name="OrderStatus" value="To Ship" type="submit" data-order-id="{{ $user->order_id }}" style="padding: 0px; text-align: left; padding-bottom: 0px; font-size: 15px;">Shipping</button>
@endif
@if ($user->status == 'Shipping')
<button class="btn to-pay-button" type="submit" name="OrderStatus" value="Completed" data-order-id="{{ $user->order_id }}" style="padding: 0px; text-align: left; padding-bottom: 0px; font-size: 15px;">Completed</button>
<button class="btn to-pay-button" type="submit" name="OrderStatus" value="Failed Delivery" data-order-id="{{ $user->order_id }}" style="padding: 0px; text-align: left; padding-bottom: 0px; font-size: 15px;">Failed Delivery</button>
@endif
</div>
</form>
JS/AJAX:
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.4/jquery.min.js"></script>
<script>
$('.to-pay-button').click(function(event) {
// Get the order_id from the data-order-id attribute of the clicked button
var orderId = $(this).data('order-id');
console.log("orderId: " + orderId);
// Send the orderId to the server using an AJAX request
$.ajax({
type: 'POST',
url: '{{ route('seller_order_all') }}',
data: {
_token: '{{ csrf_token() }}',
order_id: orderId,
},
success: function(response) {
// Handle the response here
console.log(response);
},
error: function(error) {
// Handle any errors that occur during the AJAX request
console.error(error);
}
});
});
</script>
控制器: 我有(请求$request)和::match(['post','get'])。
$getOrder是有价值的。 $orderId为 null。
if($request->isMethod('post')){
$getOrder = $request->input('OrderStatus');
$orderId = $request->input('order_id');
dd($getOrder, $orderId);
}
答: 暂无答案
评论
id="getID"
id