Laravel:$ request-> all()在使用json xhr调用时给出空数组

时间:2017-11-12 15:24:21

标签: javascript php json ajax

出于某种原因,我不能使用$ .ajax,只能使用XMLHttpRequest。 我需要将json发送到laravel控制器。当我尝试它时,我只有500秒

以下是我提出请求的方式:

    const sendEdit = function(){
        let xhr = new XMLHttpRequest();
        xhr.open("POST", "/blog/edit");
        xhr.setRequestHeader("Content-Type","application/json");
        xhr.setRequestHeader('X-CSRF-TOKEN',   $('meta[name="csrf-token"]').attr('content'))
        let data = {};
        data.header = $("#editHeader").val();
        data.body = $("#editBody").val();
        data.postId = {{$post->id}};
        data.userId = {{Auth::user()->id}}
        xhr.onreadystatechange = function(d){
        }
        xhr.send([data]);
    }

控制器返回500.当我尝试var_dump $ request-> json()或$ request-> all()时,它显示错误。这是我的控制者。请帮我看一下JSON中的数据

 public function edit(Request $request){
         echo(var_dump($request->all()));
    }

1 个答案:

答案 0 :(得分:0)

问题是在发送请求之前没有使用JSON.stringify()。