2016-09-13 5 views
3

HTML UmladenAnzeige der Daten aus der Datenbank ohne

<textarea>Ask a question</textarea><button class="addquestion">POST</button> 

Nach einem Klick auf den Button die Frage der Datenbank hinzugefügt wird, um die folgenden Ajax, jQuery und Laravel verwenden. Die Frage wird jedoch erst nach dem erneuten Laden angezeigt. Wie kann die Frage unmittelbar nach dem Klicken auf die Schaltfläche hinzugefügt werden, nachdem sie in der Datenbank gespeichert wurde?

Ajax und jQuery:

$(document).on('click','.addquestion',function(e) 
{ 
    e.preventDefault(); 
    var question = $(this).prev().val(); 
    $.ajax({ 
     type:"POST", 
     url: "{{url('/music/addquestion')}}", 
     data: { 
     "_token": "{{ csrf_token() }}", 
     "question": question 
     }, 
     success: function (data) { 
      var res = $.parseJSON(data); 
      if(res == true) 
      { 
       alert('question added!'); 
      } 
     } 
    }); 
}); 

Laravel Controller

public function addquestion(Request $request) 
    { 
     if($request->Ajax()) 
     { 
      $question = new Question(); 
      $question->question=$request->question; 
      if($question->save()) 
      { 
        echo json_encode(TRUE);die; 
      } 
     } 
    } 
+0

erste Anhängung dieses '$ (this) .prev() .val(); 'und dann in der Datenbank speichern. –

Antwort

1

Sie so nach dem Alarm.

if(res == true) 
    { 
     alert('question added!'); 
     //Add question here 
    } 
0
$(document).on('click','.addquestion',function(e) 
    { 
     e.preventDefault(); 
     var question = $(this).prev().val(); 
     // you can show the question by `question var` from here by using 
     // $('selecter').html(question); or if appending to any input type field 
     //$('selecter').val(question); or 
     //you can append it when you got success response 
     $.ajax({ 
      type:"POST", 
      url: "{{url('/music/addquestion')}}", 
      data: { 
      "_token": "{{ csrf_token() }}", 
      "question": question 
      }, 
      success: function (data) { 
       var res = $.parseJSON(data); 
       if(res == true) 
       { 
        alert('question added!'); 
        // $('selecter').html(question); or 
        //$('selecter').val(question); 


       } 
      } 
     }); 
    }); 
0

Fügen Sie den div

<textarea>Ask a question...</textarea><button class="addquestion">POST</button> 
<div id="question"></div> 

json die Variable kodieren:

echo json_encode(array('status'=>TRUE,'question'=>$request->question));die; 

Anzeige:

success: function (data) { 
      var response = $.parseJSON(data); 
      if(response.status == true) 
      { 
       var question=response.question; 
       $('#question').append(question);     
      } 
Verwandte Themen