2016-07-12 2 views
0

Ändern Das ist also ein Abbruch-Aufruf, der innerhalb eines DB :: Transaktion() Block ist:Abbruch() nicht Header

abort(422, 'insufficient_credits', ['statusText' => 'insufficient_credits']); 

Leider ist es nicht die tatsächlichen Header der Antwort zu ändern. Stattdessen scheint es in einigen verschachtelten Bereich zu schaffen Header zu werden ... nicht wirklich sicher, wie es für den Zugriff auf:

Response Image

Mein JavaScript-Datei, wo der Anruf getätigt wird:

this.$http.post('/api/test', data).then(function(response) { 
//Stuff here     
}, function(response) { 
if(response.status === 422) { 
//This triggers the output in the screenshot above 
console.log(response); 
}}); 

Wie kann Ich ändere meinen Code/Abbruchfehler so, dass er den Headerwert tatsächlich ändert? Wenn das nicht möglich ist, gibt es eine Möglichkeit, neben dem Antwortstatus weitere Informationen zurückzugeben und abzurufen?

Antwort

1

Statt abort() zu verwenden, gehen Sie für eine individuelle Antwort von Symfonys Response Klasse (oder den entsprechenden Laravel Helfer, wie ich in dem Beispiel tat):

return response($yourContent, $statusCode) 
      ->header('Content-Type', $type) 
      ->header('X-Header-One', 'Header Value') 
      ->header('X-Header-Two', 'Header Value'); 
+1

Guter Punkt, Dank !! – mdobrenko