2016-07-21 10 views
-2

Ich habe Probleme beim Versenden einer JSON-Datei von JavaScript zu Laravel-Controller, wenn ich meine Schaltfläche aus der Ansicht drücken, ich bekam keine Antwort.Problema Senden von JSON-Datei von JavaScript zu Laravel-Controller

Dies ist mein Code, ich schätze jede Hilfe oder Anregung, thnks.

Dies ist der JS-Code:

var horarios= { Lunes: arrLunes, Martes: arrMartes, Miercoles: arrMiercoles, Jueves:arrJueves, Viernes:arrViernes}; 

var schedule = JSON.stringify(horarios); 

//console.log(schedule); 
var varurl= 'http://localhost/registerEntrance'; 

$.ajax({ 
    type: "POST", 
    url: varurl, 
    data: {json:schedule}, 
    dataType:'json', 
    success: function(res) { 
    var message = res.mesg; 
    if (message) { 
     $('.flash').html(message).fadeIn(300).delay(250).fadeOut(300); 
    }; 
} 
}); 

Wenn ich meine Taste drücken, etwas passiert ist tut. Die nächste ID ist die Route und der Controller-Code, die JSON-Datei kommt dort noch nicht an.

Route::post('registerEntrance', array('as' => 'registerEntrance','uses' => '[email protected]')); 

public function regisEnt(){ 
    if(Request::ajax()) { 
    $data = Input::all(); 
    return $data; 
    } 
} 

Tnks für jede Hilfe.

Antwort

0

Ich bekomme mein Problem gelöst, ich poste es, wenn jemand eine ähnliche Unannehmlichkeit bekommt.

Aus meiner Sicht war ich nicht ein Formular erstellen.

Dieser Teil erstellt ein implizites Token, das in Laravel für die Verwendung der Ajax-Methode erforderlich ist.

Mein Code JS wurde modifiziert, um das csrf-Token abzurufen und zu senden.

var form = $('#form-name'); 
var myurl = form.attr('action'); 
crsfToken = document.getElementsByName("_token")[0].value; 

$.ajax({ 
     url: myurl, 
     type: 'POST', 
     data: {data:data}, 
     datatype: 'JSON', 
     headers: { 
       "X-CSRF-TOKEN": crsfToken 
      }, 

     success: function(text){ 
      bootbox.dialog({ 
      closeButton: false, 
      message: "Ok!", 
      title: "Perfect!!", 
     }, 
     error: function(data){ 
      console.log("Error"); 
     } 
    }); 

Mit dieser Änderung komme ich an meinem Controller ankommen.

Wie auch immer Thnks.

0

Was verwenden Sie, um Ihre Anfragen zu debuggen? Haben Sie überprüft Ihre storage/logs/framework/laravel.log(falls Ihr Protokoll ist riesig Sie es immer löschen und erneut ausführen Ihre Anfrage)

mit AJAX arbeiten kann schwierig bekommen, wenn es darum geht, Ihre Anfragen zu debuggen. Meine Empfehlung wäre

  1. Ihrem Browser Inspector öffnen und überwachen Netzwerkanfragen
  2. die Anfrage Analysieren Sie senden.
  3. debug zu true unter config/app.php Set
  4. eine Debug tatsächlich zu sehen

hoffe, das hilft!

+0

Thnks fr Ihre bald Antwort, sehe ich einen Fehler mit dem Token. TokenMismatchException –

+0

Dann sollten Sie wahrscheinlich einen Blick auf Ihre Datei config/session.php werfen, da Token Mistmatch Exception aufgrund des CSRF-Schutzes existiert. Es gibt vielleicht ein Formular, das nicht das CSRF-Token sendet. –

Verwandte Themen