ارسال اطلاعات با ایجکس

3 سال پیش توسط محمود آپدیت شد
آفلاین
user-avatar
محمود ( 684 تجربه )
3 سال پیش

لینک کوتاه اشتراک گذاری

0

سلام خدمت دوستان عزیز.
من یکسری محصولات دارم که قیمت ثابتی دارند و به راحتی با ایجکس به سبد خرید اضافه می شوند.
حالا یکسری محصول دارم که با توجه به وزن کالا قیمت متفاوتی دارند.
حالا اطلاعاتی که از select box گرفتم

  let weight = $("#weight{{$product->id}} option:selected").val();

چطوری به url زیر در ایجکس پاس بدم ؟

 url: '{{url('cart/add',['id' => $product->id,'qty' => 1])}}',

HTML

                  @foreach($products as $product)
                        <div class="card  product ml-2 mb-sm-3 ">
                          <img class="card-img-top" height="150" src="{{$product->images['thumb']}}" class="img-fluid" alt="{{$product->image_alt}}" title="{{$product->image_tag}}">
                          <div class="card-body">
                            <h5 class="card-title"><a href="{{$product->path()}}">{{$product->title}}</a></h5>
                            <p class="card-text">{{$product->subtitle}}</p>   
                           </div>
                           @if($product->new_price !=null)
                                <span>یک کیلو گرم</span>
                            <p class="form-control-sm"> <small> {{$product->new_price}} ریال</small></p>
                            @elseif(count($product->weights))

                                <div class="form-group">
                                    <select class="form-control-sm" id="weight{{$product->id}}">
                                        @foreach($product->weights as $weight)
                                        <option value="{{ $weight->id }}">{{$weight->name}} -  {{$weight->pivot->new_prices}} ریال</option>
                                        @endforeach
                                    </select>
                                </div>

                             @endif

                          <form action="#" class="cardform">
                                <div class="d-flex justify-content-center align-items-center text-light my-2">.
                                       <span class="ti-plus bg-success p-1"></span>
                                       <input type="text" class="form-control form-control-sm w-25 mx-2 text-center" value="1">
                                       <span class="ti-minus bg-success p-1 text-light"></span>
                                </div>
                                <p class="form-control-sm">جمع  :  <small>10000 ریال</small></p>
                                   <button id="addToCart{{$product->id}}" type="submit" class="btn btn-outline-warning mb-2">افزودن به سبد خرید</button>
                            </form>                         
                        </div>
                        @endforeach

Script

            $('#addToCart{{$product->id}}').on('click', function (e) {
                e.preventDefault();

                @if(count($product->weights))
                   let weight = $("#weight{{$product->id}} option:selected").val();
                @endif

                $.ajax({
                    url: '{{url('cart/add',['id' => $product->id,'qty' => 1])}}',
                    type: 'get',
                    success: function (response) {
                        console.log(response);
                        $('#sidebar').load('{{url('cart/sidebar')}}');
                    }
                });
            });

Route

Route::get('cart/add/{id}/{qty}/{weight?}','[email protected]');

(چطوری یک متغیر از جاوا اسکریپت رو داخل متغیر php بریزم ؟)

آفلاین
user-avatar
developer ( 35972 تجربه )
3 سال پیش
تخصص : برنامه نویس

لینک کوتاه اشتراک گذاری

1

به صورت POST بفرست

آفلاین
user-avatar
محمود ( 684 تجربه )
3 سال پیش

لینک کوتاه اشتراک گذاری

0

به صورت POST :
Script


                $('#addToCart{{$product->id}}').on('click', function (e) {
                    e.preventDefault();

                    @if(count($product->weights))
                       var weight = $("#weight{{$product->id}} option:selected").val();
                    @endif

                    $.ajax({
                        url: '{{url('cart/add')}}',
                        type: 'post',
                        data : {
                            id : '{{$product->id}}',
                            qty : 1,
                            @if(count($product->weights))
                                weight : weight,
                           @endif
                           _token: '{{ csrf_token() }}'
                        },
                        success: function (response) {
                            console.log(response);
                            $('#sidebar').load('{{url('cart/sidebar')}}');
                        }
                    });
                });

Route

Route::post('cart/add','[email protected]');
برای ارسال پاسخ لازم است، ابتدا وارد سایت شوید.