简体   繁体   中英

How to get the id from the database upon clicking the button via ajax

Here is the scenario, I am doing a message thread inside a modal. I want to show a message thread for a specific person using its reference number. My problem is I cannot pass the reference number to my controller and return to my blade (in message thread). Here are my Codes.

My modal for message thread

<div id="threadmessage" class="modal fade" role="dialog">
    <div class="modal-dialog">
        <div class="modal-content">
            <div class="modal-header">
                <button type="button" class="close" data-dismiss="modal">&times;</button>
                <h3>Message Thread</h3>
            </div>
            <div class="modal-body" style="height: 300px;" >
                <div class="row" style=" margin-left: 30px; margin-bottom: 5px; left: 20px; width: 550px; height: 200px; overflow: auto;">
                     <div>
                       @foreach ($messageThread as $thread)

                               {!!$thread->message!!}
                               <br>
                       @endforeach
                </div>
                <br>
                </div>
                <div>
                    <br>
                    <div class="col-md-2"> 
                        <b> Message: </b><br>
                    </div>
                    <div class="col-md-10"> 
                        <textarea required=" " id="messageContent" style="resize: none;" class="form-control" rows="2"></textarea>
                    </div>
                </div>
                <br>
            </div>
            <div class="modal-footer">
                <div>
                    <button type="button" id="btn-message" class="btn btn-default" data-dismiss="modal" style="background-color: #3c5fa6; color: white;"> 
                        Send <i class="fa fa-paper-plane-o ml-1"> </i>
                    </button>
                </div>
            </div>
        </div>
    </div>
</div>

My Javasript for showing the message modal

$('#inquire_t tbody').on('click','#showMsg-btn',function(){
   var flag = 6;   // Approved
   var refNumber = $(this).attr('value');
   var cur_flag = $(this).attr('name');
   var user = $("#username").html();
   console.log(refNumber);
   console.log(user);
   $('#threadmessage').modal({"backdrop":"static"});


   getMessage(refNumber, user);
});//btn-message

function getMessage(num, name){
    var refNumber = num;
    var username = name;

    $.ajax({
        url:'getAllMessage',
        type: 'GET',
        headers: {'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content')},
        data: refNumber+'refNumber'+username+'&username',
        // dataType:'TEXT',
        success: function(data){
        }
   })
}

Button for Modal

"

Controller for getting the messages

public function getAllMessage(Request $request){
    $refNumber = $request->get('refNumber');
    $number = $refNumber;
    $messageThread = DB::table('i_di_thread')->select('message')->where('refNumber', '=', $number)->get();
    return view ('message', ['messageThread'=>$messageThread]);
} 

My Route

Route::get('showInquiries','HomeController@getAllMessage');
Route::get('getAllMessage','HomeController@getAllMessage');

You can pass it by two methods and your data is not concatenated properly so :

Method 1 :

$.ajax({
        ...
        data : { 'refNumber' : refNumber, 'username' : username },
        ...
});

Method 2 :

data:'refNumber='+ refNumber + '&username='+ username

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM