2015-08-06 25 views
18

ich return Response::json('data', $request); aber ich versuche, ich erhalte eine Fehlermeldung:Antwort :: json() - Laravel 5.1

FatalErrorException in ProjectsController.php line 74: Call to undefined method Illuminate\Http\Response::json()

Wo ist der Response::json() liegt? Was mache ich falsch?

Antwort

33

die Helferfunktion in laravel 5.1 statt:

return response()->json(['name' => 'Abigail', 'state' => 'CA']); 

Dies wird eine Instanz von \Illuminate\Routing\ResponseFactory erstellen. Siehe die PHPDocs für mögliche Parameter unter:

/** 
* Return a new JSON response from the application. 
* 
* @param string|array $data 
* @param int $status 
* @param array $headers 
* @param int $options 
* @return \Symfony\Component\HttpFoundation\Response 
* @static 
*/ 
public static function json($data = array(), $status = 200, $headers = array(), $options = 0){ 

    return \Illuminate\Routing\ResponseFactory::json($data, $status, $headers, $options); 
} 
+0

offtopic, wie diese Daten im Hinblick auf bekommen? Verwenden Sie einfach $ name für 'Abigail' und $ state für 'CA'? – MASh

+0

hängt von Ihrer Verwendung ab. Eine xhr-Anfrage (ajax) würde ein Objekt mit 'name' und' state' Eigenschaft @MASh enthalten. – baao

+0

Kannst du ein bisschen mehr erklären? Ich bin Anfänger. – MASh

1

Von einem Controller Sie auch ein Objekt/Array zurückgeben kann, und es wird als JSON-Antwort gesendet werden (einschließlich der richtigen HTTP-Header).

public function show($id) 
{ 
    return Customer::find($id); 
} 
9

Nach genug Googeln fand ich die Antwort von der Steuerung nur einen Backslash wie return \Response::json(['success' => 'hi, atiq']); benötigen. Oder Sie können einfach das Array return array('success' => 'hi, atiq'); zurückgeben, das in Laravel Version 5.2 als json gerendert wird.

+0

Ja, Sie sind ein Lebensretter, aber warum haben wir nicht "verwenden" Anweisung verwendet. Sie sollten auch den Warum-Teil erklärt haben! –

3

Verwendung Antwort;

geht dann zurück Response::json($data);

+0

Bitte bearbeiten Sie mit mehr Informationen. Code-only und "try this" Antworten werden abgeraten, da sie keine durchsuchbaren Inhalte enthalten und nicht erklären, warum jemand "das versuchen sollte". – abarisone