【问题标题】:Insert data using ajax in laravel 5.4在 laravel 5.4 中使用 ajax 插入数据
【发布时间】:2018-06-23 03:08:42
【问题描述】:

我在 laravel 方面并没有那么先进。我想在不刷新的情况下使用 jquery ajax 插入数据我也尝试在 google 中找到解决方案。我知道我的帖子看起来像是零努力。但我正在尝试这几天。这是我的代码。提前致谢。

recruitment.blade.php

<form id="frm" method="POST" action="{{ url('post_job') }}">
     {{ csrf_field() }}

     <input name="title" type="text" required /> <br>
     <input name="nature" type="text" required /> <br>
     <textarea rows="4" cols="50" name="description" required></textarea>

     <input type="submit" name="" value="Update post">
</form>

web.php(路由)

Route::POST('/post_job', 'RecruitmentController@store');

控制器

public function store(Request $request)
{
 $recruitment = new recruitment() ;
 $recruitment->title = $request->get('title');
 $recruitment->nature = $request->get('nature');
 $recruitment->description = $request->get('description');
 $recruitment->save();

 Session::flash('msg','Post done successfully');
 return redirect('/recruitment');
 }

Ajax

<script>

function saveToDatabase()
{

    select = $(this).serialize();
    $('#frm').live("change", function ()
    {
        // POST to php script
        $.ajax
        ({
            type: 'POST',
            url: '/post_job',
            data:{selected:select}
        }).then(function(data){alert(data)});
    });
}

$(document).ready(function()
{
    saveToDatabase();
});

【问题讨论】:

  • 你在哪里发送 ajax 请求?你能发布你的ajax代码吗?

标签: ajax laravel laravel-5.3


【解决方案1】:

控制器: Json响应见doc

public function store(Request $request)
{
 $recruitment = new Recruitment;
 $recruitment->title = $request->get('title');
 $recruitment->nature = $request->get('nature');
 $recruitment->description = $request->get('description');
 $recruitment->save();

 // Session::flash('msg','Post done successfully');
 // return redirect('/recruitment');
   return response()->json( [ 'msg' => 'Post done successfully' ] );
 }

在头部标签中

<meta name="csrf-token" content="{{ csrf_token() }}" >

阿贾克斯 ajax请求见X-CSRF-TOKEN

<script>
$.ajaxSetup( {
    headers: {
        'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')
    }
} );

function saveToDatabase() {
    $( '#frm' ).submit( function( e ) {
        e.preventDefault();
        var select = $( this ).serialize();
        // POST to php script
        $.ajax( {
            type: 'POST',
            url: '/post_job',
            data: select
        }).then( function( data ) {
            alert( data )
        } );
        return false;
    } );
}

$(document).ready(function()
{
    saveToDatabase();
});
</script>

【讨论】:

  • 在inspector元素中你可以检查,请求是否发送?
  • 它没有显示任何错误。只是数据库没有改变。我认为数据不会发布。
  • 在inspector元素中你有成功代码200吗?
  • 现在它将数据插入数据库但页面也需要刷新
  • 你评论了吗return redirect('/recruitment');这一行?
猜你喜欢
  • 2019-10-16
  • 1970-01-01
  • 2017-10-12
  • 2021-05-08
  • 2020-11-13
  • 1970-01-01
  • 2017-07-21
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多