Laravel $request-> all() ничего не возвращает в ответ на запрос ajax

#javascript #php #jquery #ajax #laravel

#javascript #php #jquery #ajax #laravel

Вопрос:

Мой ajax-запрос, показанный ниже, отправляет объект json в серверную функцию, которая должна возвращать $request->all() , но вместо этого ничего не возвращает, если я отправляю кординаты json, которые я отправляю в данный момент, но если я отправляю простой JSON, он возвращается просто отлично.

AJAX

 var JSONObj = {"test" : "test1"};
var PointsOnCanvas = [{"PX":486,"PY":447,"CX":485,"CY":447},{"PX":485,"PY":447,"CX":487,"CY":443},{"PX":487,"PY":443,"CX":490,"CY":438},{"PX":490,"PY":438,"CX":499,"CY":423},{"PX":499,"PY":423,"CX":500,"CY":421},{"PX":500,"PY":421,"CX":512,"CY":402},{"PX":512,"PY":402,"CX":519,"CY":392},{"PX":519,"PY":392,"CX":532,"CY":371}]
$.ajax({
            url: "/Ajax",
            type: "GET",
            //datatype: "json", //could be xml, json, html, text or script
            contentType: "application/json",
            data: JSONObj,//JSON.stringify(PointsOnCanvas),
            error: function (response) {
                console.log(response)
            },
            success: function (response) {
                console.log(JSON.stringify(PointsOnCanvas))
                console.log("response is "   response)
                console.log("json response is "   JSON.stringify(response))
                PointsOnCanvas = [];
            }



        });
  

Я прокомментировал //JSON.stringify(PointsOnCanvas) выше, это код, который, по моему мнению, вызывает проблему.

Код laravel приведен ниже

 public function RecieveAjax(Request $request){
        if($request->ajax()){
            
            return  response()->json(['result' => $request->all()]);
        }else{
            return "Not Helo";
        }
    }
  

Комментарии:

1. $request->json() возвращает ли что-нибудь?

2. да, если я отправляю jsonObj простой obj, он возвращает просто отлично, но когда я отправляю PointsOnCanvas, он никогда не работает

3. Это потому, что your PointsOnCanvas представляет собой массив значений, а не объект со значениями. Попробуйте что-то вроде data: { points: PointsOnCanvas } .

4. {«Points» : JSON.stringify(PointsOnCanvas)} и {«Points» : PointsOnCanvas} оба ничего не возвращают