douyan8772 2016-11-17 09:37
浏览 152
已采纳

laravel如何使用ajax获取数据库值?

I want to post this form to Controller using ajax.

<form class="delete_confirm" action="{{ route('comment.delete_confirm', $mypage->id) }}">
  <input type="hidden" name="_token" value="{{ csrf_token() }}">
  <input type="password" name="pass_con" placeholder="비밀번호를 입력하세요.">
  <input type="submit" class="pass_submit" value="확인">
</form>

JS

$del_conForm.on('submit', function(){

        $.ajax({
            url: 'comment/{id}',
            type: 'post',
            data: $(this).serialize(),
            success: function(res){
                if (!res) {
                    alert('not correct');
                    return false;
                }
                else{
                    if (confirm("Click OK to continue?")) {
                        $delForm.submit();
                    }
                }
            }
        });

    });

I want to know $mypage->id in HTML form is also submit controller.

Controller

public function delete_confirm($id) {

    $mypage = mypage::findOrFail($id);

    $password = $mypage->password;

    $data = Input::get('pass_con');

    if ($data == $password) {
        return 'suc';
    }else{
        return false;
    }
}

Route

Route::get('comment/{id}', ['as'=>'comment.delete_confirm', 'uses'=>'MyPageController@delete_confirm']);
Route::post('comment/{id}', ['as'=>'comment.delete_confirm', 'uses'=>'MyPageController@delete_confirm']);

Request::ajax() part is work successfully, but $password returns nothing. Can controller delete_confirm method receive $id ?

  • 写回答

4条回答 默认 最新

  • dongxian7194 2016-11-17 09:46
    关注

    Try this :

    $del_conForm.on('submit', function(){
        url = $(this).attr("action");
        $.ajax({
            url: url,
            type: 'post',
            dataType : 'json'
            data: $(this).serialize(),
            success: function(res){
                if (!res.status) {
                    alert('not correct');
                    return false;
                }
                else{
                    if (confirm("Click OK to continue?")) {
                        $delForm.submit();
                    }
                }
            }
        });
    
    });
    

    // your controller code should look like this

    public function delete_confirm($id) {
    
        $mypage = mypage::findOrFail($id);
    
        $password = $mypage->password;
    
        $data = Input::get('pass_con');
        $response = array();
        if ($data == $password) {
           $response['status'] = true;
        }else{
           $response['status'] = false;
        }
        return response()->json($response);
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(3条)

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵