我的ajax请求回调整个代码页

问题描述 投票:0回答:1

我只是想用 laravel 中的按钮保存,但是当使用控制台日志时,我在控制台 idk 中得到完整的代码,为什么会发生这种情况?

这是我的输入和按钮

<form action="{{ url('sendcom') }}" method="post">
                    @csrf
                    <input type="text" id="editor" name="Name">
                    <button type="submit" id="btn" name="submit" value="Submit">
                    submit
                    </button>

                </form>

我像这样使用ajax:

<script type="text/javascript">

$(document).ready(function(){
    $.ajaxSetup({
        headers: {
            'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
        }
    });
  $("#btn").click(function(e){
    e.preventDefault()
    var data = $('#editor').val()
    $.ajax({
  type: "post",
  url: "{{ route('sendcom') }}",
  data: { data: data },
  success: function(res){
        console.log(res);
  }
});
  });
});

</script>

我在控制器中得到它,如下所示:

public function sendcom(Request $request)
    {
        if($request->ajax()){

            $content = $request->data;

            User::updateOrCreate([
                'contract' => $content
            ]);

            return response(['success' => 'contract save success.']);
        }
    }

但是当我单击“提交”按钮时,它会为我提供整个页面的代码 我也不知道我哪里做错了

javascript php ajax laravel
1个回答
1
投票

这里的

response
关键字实际上是
Illuminate\Http\Response
的一个实例,可以在文档中的 here 看到。这里的 ajax 期望的是一个
JSON
响应,顾名思义,它将作为 javascript 对象使用。

线路:

return response(['success' => 'contract save success.']);

应改为:

return json_encode(['success' => 'contract save success.']);

这将创建一个要返回的新 json 对象。然后我们可以使用

res.success
访问它来获取消息。

© www.soinside.com 2019 - 2024. All rights reserved.