#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} оба ничего не возвращают