首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Laravel 5: Ajax Post 500 (内部服务器错误)错误

Laravel 5: Ajax Post 500 (内部服务器错误)错误
EN

Stack Overflow用户
提问于 2019-07-26 18:01:02
回答 2查看 2.7K关注 0票数 1

我试图通过ajax (添加到购物车)提交数据,但是在控制台http://localhost/glutax9gs/cartupdate 500 (内部服务器错误)后出现了一个错误。

我的密码怎么了?是javascript还是控制器?

这是我的路线:

代码语言:javascript
复制
Route::get('/cartupdate', 'FrontEndController@cartupdate')->name('update.cart');
Route::post('/cartupdate', 'FrontEndController@cartupdate')->name('cart.update');

控制器代码在这里:

代码语言:javascript
复制
    public function cartupdate(Request $request)
    {

        if ($request->isMethod('post')){

            if (empty(Session::get('uniqueid'))){

                $cart = new Cart;
                $cart->fill($request->all());
                Session::put('uniqueid', $request->uniqueid);
                $cart->save();

            }else{

                $cart = Cart::where('uniqueid',$request->uniqueid)
                    ->where('product',$request->product)->first();
                //$carts = Cart::where('uniqueid',$request->uniqueid)
                        //->where('product',$request->product)->count();
                if (count($cart) > 0 ){
                    $data =  $request->all();
                    $cart->update($data);
                }else{
                    $cart = new Cart;
                    $cart->fill($request->all());
                    $cart->save();
                }

            }
            return response()->json(['response' => 'Successfully Added to Cart.','product' => $request->product]);
        }

        $getcart = Cart::where('uniqueid',Session::get('uniqueid'))->get();

        return response()->json(['response' => $getcart]);
    }

jQuery代码在这里:

代码语言:javascript
复制
    $(".to-cart").click(function(){

        var formData = $(this).parents('form:first').serializeArray();
        $.ajax({
            type: "POST",
            url: '{{route("cart.update")}}',
            data:formData,
            success: function (data) {
                getCart();
                $.notify(data.response, "success");
            },
            error: function (data) {
                console.log('Error:', data);
            }
        });
    });

视图代码在这里:

代码语言:javascript
复制
        <form>
            <p>
                {{csrf_field()}}
                @if(Session::has('uniqueid'))
                    <input type="hidden" name="uniqueid" value="{{Session::get('uniqueid')}}">
                @else
                    <input type="hidden" name="uniqueid" value="{{str_random(7)}}">
                @endif
      <input type="hidden" name="title" value="{{$product->title}}">
      <input type="hidden" name="product" value="{{$product->id}}">
      <input type="hidden" id="cost" name="cost" value="{{$product->price}}">
      <input type="hidden" id="quantity" name="quantity" value="1">
           @if($product->stock != 0 || $product->stock === null )
    <button type="button" class="button style-10 to-cart">Add to cart</button>
              @else
           <button type="button" class="button style-10 to-cart" disabled>Out Of Stock</button>
           @endif
            {{--<button type="button" class="button style-10 hidden-sm to-cart"><i class="fa fa-shopping-cart"></i>Add to cart</button>--}}
            </p>
        </form>
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-07-26 18:51:21

根据您的评论,看起来您正在对非数组元素使用count(),这是禁止的。您应该修改您的支票:

发自:

代码语言:javascript
复制
if (count($cart) > 0 ){

至:

代码语言:javascript
复制
if (is_array($cart) && count($cart) > 0 ){

提示:在检查$cart的长度之前,首先验证它是一个数组。

票数 1
EN

Stack Overflow用户

发布于 2019-07-26 18:59:08

问题是在返回null的$cart变量中,我刚刚从

代码语言:javascript
复制
if (count($cart) > 0 ){
                    $data =  $request->all();
                    $cart->update($data);
                }

对此:

代码语言:javascript
复制
if ($cart){
                    $data =  $request->all();
                    $cart->update($data);
                }

和解决问题都要感谢所有人:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/57225031

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档