【问题标题】:Not working Laravel and Ajax data insert in to the database无法将 Laravel 和 Ajax 数据插入数据库
【发布时间】:2023-03-03 23:27:01
【问题描述】:

使用 Laravel 5.7 和 Ajax 插入数据并显示在以下刀片文件中,

 <table border="0">
    <th colspan="6">Members</th>
    <tr>
    <td>Id</td>
    <td>Name</td>
    <td>Email</td>
    <td>Address</td>
    </tr>

    @foreach($member as $value)
    <tr>
    <td>{{$value->id}}</td>
    <td>{{$value->name}}</td>
    <td>{{$value->age}}</td>
    <td>{{$value->email}}</td>
    <td>{{$value->address}}</td>
    </tr>
    @endforeach
    </table>

    <!--insert data-->
    <table border="0">
    <th colspan="2">Insert</th>
    <tr>
    <td>Name:</td>
    <td><input type="text" name="name"></td>
    </tr>

    <tr>
    <td>Age:</td>
    <td><input type="text" name="age"></td>
    </tr>

    <tr>
    <td>Email:</td>
    <td><input type="text" name="email"></td>
    </tr>

    <tr>
    <td>Address:</td>
    <td><input type="text" name="address"></td>
    </tr>

    <tr>
    <td colspan="2"><button type="submit" id="insert">Insert</button></td>
    </tr>
    </table>
    {{ csrf_field() }}

$('#insert').click(function(){
    $.ajax({
        type:'post',
        url:'insertdata',
        data:{
            '_token':$('input[name:_token').val(),
            'name':$('input[name:name').val(),
            'age':$('input[name:age').val(),
            'email':$('input[name:email').val(),
            'address':$('input[name:address').val(),
        },
        success:function(data){
            window.location.reload();
        },
    });
});

我的 HomeController 是这样的,

public function index()
    {
        $member = membersmodel::all();
        return view('home.index')->with('member',$member);
    }

    public function insertdata(Request $request)
    {
        $member = New membersmodel();
        $member->name = $request->name;
        $member->age = $request->age;
        $member->email = $request->email;
        $member->address = $request->address;
        $member->save();
        return response()->json($member);
    }

路线是,

Route::get('/','HomeController@index');

Route::post('insertdata','HomeController@insertdata');

但是当我在插入表中插入数据并单击插入按钮时,什么都没有发生。不保存数据或显示。不,发生任何错误。如何解决此问题?

【问题讨论】:

  • 有些错误是你看不到的。它永远不会“空白”。尝试调试它。在您的控制器中尝试print_r($request-&gt;all()); 并查看您是否真正访问了您的控制器,console.log(); 您的数据以查看错误是否在视图中等等。总是会发生一些事情。
  • AJAX 代码在哪里?会发生什么?
  • @NicoHaase 请查看我的更新答案有 ajax 部分
  • @pr1nc3 如何在我的代码中使用print_r($request-&gt;all());console.log();
  • 那是你的问题 :) ,jQuery 没有定义。因此,请检查您是否正在加载它,并确保此页面中的脚本是在 jQuery 之后加载的。

标签: php mysql ajax laravel-5


【解决方案1】:

你一定忘记在你的模型membersmodel中提到可填写字段了

【讨论】:

    猜你喜欢
    • 2015-02-22
    • 1970-01-01
    • 2017-07-21
    • 2019-05-25
    • 2018-11-21
    • 2016-10-12
    • 2020-07-05
    • 2012-04-13
    相关资源
    最近更新 更多