亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Ajax 返回 GET 請求而不是 POST

Ajax 返回 GET 請求而不是 POST

PHP
波斯汪 2023-08-19 14:21:20
我正在嘗試在 Laravel 中創建一個個人消息系統,該系統的一部分是能夠以表單形式發送消息,而無需刷新整個頁面。我一直在關注一些 youtube 教程,這是我迄今為止的 Ajax 腳本。<form id="form{{$dm->id}}">                    {{ csrf_field() }}                    <input id="message" placeholder="Send a message" style="border-radius: 0px;" type="username" class="form-control" name="message">                    <script>                    $('form{{$dm->id}}').ready(function (){                                            $('form{{$dm->id}}').on('submit', function( event ) {                        event.preventDefault();                        $.ajax({                            type: 'post',                            url: '{{ route("sendMessage", $dm->id) }}',                            data: $('form{{$dm->id}}').serialize(),                             success: function(response){                                alert('suces')                            },                            error: function(response){                               alert('failure')                            }                        });                    });                    });                    </script>                </form>它不向控制器發送 POST 請求,而是發送 GET 請求并進行重定向。這是我第一次使用 Ajax/Javascript,所以我不知道為什么它不起作用??刂破髂_本:public function sendM(Request $request, $id){    $validatedData = $request->validate([        'message' => 'required|string|max:255|min:4',    ]);        $dm = Dm::find($id);    $mess = new Message;    $mess->Authid = Auth::user()->id;    $mess->Userid = $dm->Userid;    $mess->Dmid = $dm->id;    $mess->message = $request->input('message');    $dm->messages()->save($mess);    $dm->touch();}路由入口:Route::post('/sendmessage/id{id}', 'SettingsController@sendM')->name('sendMessage')->middleware('verified');很感謝任何形式的幫助?。ㄗⅲ罕?,如果這是非常明顯的事情)
查看完整描述

3 回答

?
catspeake

TA貢獻1111條經驗 獲得超0個贊

方法的別名。如果您使用 1.9.0 之前的 jQuery 版本,則應該使用 type。


             <form id="form{{$dm->id}}">

                    {{ csrf_field() }}

                    <input id="message" placeholder="Send a message" style="border-radius: 0px;" type="username" class="form-control" name="message">

                    <script>

                    $('form{{$dm->id}}').ready(function (){

                        

                    $('form{{$dm->id}}').on('submit', function( event ) {

                        event.preventDefault();

                        $.ajax({

                            type: 'POST', //Check your JQ version.

                            method: 'POST', //Check your JQ version.

                            contentType:"multipart/form-data; charset=utf-8",

                            //url: '{{ route("sendMessage", $dm->id) }}',

                            url: '{{ route("sendmessage", $dm->id) }}',

                            data: $('form{{$dm->id}}').serialize(), 

                            success: function(response){

                                alert('suces')

                            },

                            error: function(response){

                               alert('failure')

                            }

                        });

                    });

                    });

                    </script>

                </form>


查看完整回答
反對 回復 2023-08-19
?
搖曳的薔薇

TA貢獻1793條經驗 獲得超6個贊

不確定它是否解決了您的問題,但您還必須將 csrf 令牌添加到標頭中:


$.ajaxSetup({

   headers: {

      'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')

   }

});

(當然,如果令牌位于元標記中)


查看完整回答
反對 回復 2023-08-19
?
慕虎7371278

TA貢獻1802條經驗 獲得超4個贊

在 $.ajax 調用中,您需要將方法設置為 post 而不是類型。


$.ajax({

        method: 'post',

        url: '{{ route("sendMessage", $dm->id) }}',

        data: $('form{{$dm->id}}').serialize(), 

        success: function(response){

          alert('suces')

        },

        error: function(response){

        alert('failure')

        }

       });

順便說一句,jquery 通常被認為正在被淘汰。您可能想了解 jquery 的一些替代方案,例如 vue.js 或 React。具體到ajax方面,Laravel內置了axios支持。


查看完整回答
反對 回復 2023-08-19
  • 3 回答
  • 0 關注
  • 149 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號