محمود
4 سال پیش توسط محمود مطرح شد
2 پاسخ

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

سلام خدمت دوستان عزیز.
من یکسری محصولات دارم که قیمت ثابتی دارند و به راحتی با ایجکس به سبد خرید اضافه می شوند.
حالا یکسری محصول دارم که با توجه به وزن کالا قیمت متفاوتی دارند.
حالا اطلاعاتی که از 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 بریزم ؟)


تگ‌های محبوب
لاراول
php
laravel
متفرقه
reactjs
عمومی
html_css
nodejs
vuejs
وردپرس
پایتون
css
فلاتر
react
javascript
ثبت پرسش جدید
developer
تخصص : برنامه نویس
@developer 4 سال پیش مطرح شد
1

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


محمود
@gt.libertine 4 سال پیش آپدیت شد
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]');

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام