2017-12-17 2 views
1

Ich habe folgende Anfrage an meine Laravel Endpunkt:Axios bekommen Anfrage Laravel Endpunkt von next.js

axios.get('http://localhost:8000/auth/login', {}) 
      .then(function (response) { 
       console.log(response); 
       return {}; 
      }) 
      .catch(function (error) { 
       return {} 
      }); 

Und mein Laravel Endpunkt eingerichtet wie:

public function index() { 
     var_dump('login called.');die; 
     return response()->json(
      [], 
      200 
     ); 
    } 

Ich begann meine nextjs Server (Port 3000) und Laravel Server (8000), und wenn ich in meinem Browser nach localhost: 8000/auth/login suche, sehe ich "login called". Aber wenn ich diesen Axios-Aufruf mache, bekomme ich einen Status 200ok, aber keine Antwortdaten.

Request URL:http://localhost:8000/auth/login 
Request Method:GET 
Status Code:200 OK 
Remote Address:127.0.0.1:8000 
Referrer Policy:no-referrer-when-downgrade 

Irgendeine Idee, was ich falsch mache?

+1

Ja 'sterben;' falsch ist – Kyslik

+0

ahh du hast Recht, ich dachte, Minimum der var_dump hätte zurückgegeben werden sollen. Vielen Dank! – user1009698

Antwort

1

Nichts ist falsch mit Ihrem Code Sie erhalten die Antwort richtig, Sie sehen "Login aufgerufen", weil Sie von einem Browser zugreifen, daher ein Browser hat die Fähigkeit, den HTML-Code zu rendern und Sie können das sehen.

Aber dieser Axios-Aufruf erwartet einige JSON im Gegenzug. Wenn Sie die Antwort ein wenig zwicken:

public function index() { 

     return response()->json(
      ['data' =>'Log in called'], 
      200 
     ); 
    } 

und wenn Sie axios twak ein wenig

axios.get('http://localhost:8000/auth/login', {}) 
      .then(function (response) { 
       console.log(response.data); 
       return {}; 
      }) 
      .catch(function (error) { 
       return {} 
      }); 

Element offene Konsole Inspizieren Antwort und werden Sie 'Log in called' sehen