亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

為什么 GET ajax 調用返回錯誤代碼 500?

為什么 GET ajax 調用返回錯誤代碼 500?

慕村225694 2023-10-20 16:10:08
因此,我的頁面包含一個項目列表和一個搜索欄,該搜索欄根據插入的文本動態搜索所有項目。我在輸入上放置了一個 eventHandler,以便每次輸入更改時進行 ajax 調用以進行過濾。從另一個角度來看,我嘗試實現相同的邏輯,但在復選框上使用標簽。起初,我只是放置了警報以確保我的 JavaScript 正確接收所有標簽,到目前為止沒有任何問題。然后我嘗試進行另一個 ajax 調用并記錄結果,看看他的輸出是否是我想要的。這次我收到了“GET link 500(內部服務器錯誤)”。我使用 Laravel 8。這是復選框對應的視圖:    @foreach($categories as $category)                    <li class="list-group-item">                        <div class="form-check">                            <input class="form-check-input filtercheckbox" type="checkbox" name="checkboxfilter" id="{{$category}}check" value="{{$category}}">                            <label class="form-check-label" for="inlineRadio1">{{strtoupper($category[0]).substr($category,1)}}</label>                        </div>                    </li>                    @endforeach我的JavaScript:function filterItems(){    var filter = [];    for(var i=0; i<checkbox.length; i++) {        if(checkbox[i].checked){            filter.push(checkbox[i].value);        }    }    $.ajax({        url:"/aluno/shop/filter",        method:"GET",        data:{ filter:filter },        dataType:"json",        success:function (data) {            console.log(data);            //document.getElementById('items_list').innerHTML = data;        }        }    );}var checkbox = document.getElementsByClassName("filtercheckbox");for(var i=0; i<checkbox.length; i++) {    checkbox[i].addEventListener("change",filterItems);}我的功能控制器:public function filterCategory(Request $request){        if($request->ajax()){            $query = $request->get('filter');            $materials = array();            if( $query != ''){                foreach ($query as $cat){                    $materialsList = Material::where('category','=', $cat)->get();                    array_push($materials,$materialsList);                }            }else{                $materialsList = Material::all();            }由于 dd() 函數在這種情況下不起作用,因此我無法判斷問題是什么,是否有調用、響應或兩者之間的任何內容。感謝一些幫助,我還可以展示我如何進行有關文本搜索的其他 ajax 調用,不知道是否可能有任何沖突。
查看完整描述

1 回答

?
慕田峪7331174

TA貢獻1828條經驗 獲得超13個贊

明顯的問題出在$materials->count() > 0if 語句中。


$materials 作為數組啟動,并且->count()不存在于數組中。


更改if($materials->count() > 0)為if(count($materials) > 0),它應該可以工作


public function filterCategory(Request $request){

        if($request->ajax()){

            $query = $request->get('filter');

            $materials = array();


            if( $query != ''){

                foreach ($query as $cat){

                    $materialsList = Material::where('category','=', $cat)->get();

                    array_push($materials,$materialsList);

                }

            }else{

                $materialsList = Material::all();

            }


            if(count($materials) > 0){    //Changed

                $output = "";

                foreach ($materialsList as $material){

                    $output .= "<div class='col'>" .

                        "<div class='card mt-2'>" .

                        "<img class='shopImage' src='" . $material['image'] .  "' alt='product'/>" .

                        "<div class='card-body'>" .

                        "<h5 class='card-title'>" . $material['name'] . "</h5>" .

                        "</div>" .

                        "<ul class='list-group list-group-flush'>" .

                        "<li class='list-group-item'>Quantidade:" .  $material['amount'] . "</li>" .

                        "<li class='list-group-item'>Categoria:" . strtoupper($material['category'][0]).substr($material['category'],1) . "</li>" .

                        "<li class='list-group-item'><a href='" . route('edit_item',$material['id']) . "' class='btn btn-primary'>Editar</a></li>" .

                        "</ul>" .

                        "</div>" .

                        "</div>";

                }

            } else {

                $output = 'Item com esse nome n?o encontrado!';

            }


            $data = $output;

            echo json_encode($data);

        }

    }


查看完整回答
反對 回復 2023-10-20
  • 1 回答
  • 0 關注
  • 179 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號