2015-02-07 9 views
6

Ich muss die Daten von jQuery Post-Anforderung erhalten, scheint, dass eine Fehler mit dem Router oder Controller, hier ist mein Beitrag Anfrage JavaScript-Code:Gesuch mit jQuery und Laravel Rahmen

$.post('http://localhost:8000/ajax', 
       { 

        task: "comment_insert", 
        userID: _userID, 
        comment: _comment, 
        name: _name, 
        userName: _userName 
       } 

       ).error(
        function(data) 
        { 
         alert("Error: "+ data); 
        } 
       ) 
       .success(
        function(data) 
        { 
         comment_insert(jQuery.parseJSON(data)); 
         console.log("RESPOND TEXT:" + data); 

        } 
       ); 

    } 

hier auch meine Routen ist für Laravel Rahmen:

Route::post('ajax', '[email protected]'); 

Controller:

class AjaxController extends Controller { 

    /** 
    * Display a listing of the resource. 
    * 
    * @return Response 
    */ 
    public function __construct() 
    { 
     $this->middleware('guest'); 
    } 

    public function index() 
    { 
      return view('ajax.ajax'); 

    } 
} 

mein ajax.php Skript i s in /resource/views/ajax/ajax.php Auch wenn ich Skript in /public/ajax/ajax.php setzen alles gut funktioniert .... Ich benutze Laravel 5 ... Bitte helfen

EDIT:

Ich habe gefunden, was das Problem ist, aber nicht wissen, wie zu lösen.

Wenn ich csrf Schutz deaktivieren von: kernel.php Code Arbeit jemand weiß, wie Code mit csrf Schutz aktiviert arbeiten?

Antwort

10

UPDATE: Das Problem ist, dass der neue CSRF-Schutz nicht mit Ajax-Anforderungen funktioniert. Hier ist, was Sie tun können:

In Ihrem Master-Vorlage eine neue Meta-Tag mit dem aktuellen Token wie diese

<meta name="csrf-token" content="{{ Session::token() }}"> 

Dann fügen Sie, wenn Ihre Ajax Senden rufen Sie fügen Sie das Token wie folgt aus:

$.post('http://localhost:8000/ajax', 
    { 
     '_token': $('meta[name=csrf-token]').attr('content'), 
     task: 'comment_insert', 
     userID: _userID, 
     comment: _comment, 
     name: _name, 
     userName: _userName 
    }) 
    .error(
     ... 
    ) 
    .success(
     ... 
    ); 
} 
+0

Es nicht soleve Problem .... Hier ist der Fehler: POST http: // localhost: 8000/ajax 500 (Interner Server Fehler) – Vladimir

+0

Könnten Sie den vollen Fehler auf pastebin und dann einen Link zu ihm hier? Sie finden es in den Protokollen ('storage/logs/laravel ...'). – cgross

+0

Ich weiß wath ist Fehler pls lesen EDIT am Hauptpost ... – Vladimir

0

Ist eine einfache Code mit JavaScript-Methoden senden GET, POST, PUT

Header

declare DELETE: <meta name="csrf-token" content="{{ Session::token() }}">