2016-07-14 6 views
0

Situation

Von meiner Meteor.js Website rufe ich meinen eigenen REST-Service. Hier ist ein Codebeispiel von meiner Server-SeiteAntwort Header in Meteor.js

function (question) { 
    var r = Async.runSync(function (done) { 
     HTTP.get(URL, { 
      params: {q: question}, headers: { 
       "Accept": "application/json", 
      } 
     }, function (err, result) { 
      done(err, result); 
     }); 
    }); 
    if (r.err) { 
     console.log("Failed to smartSearch ... ", r.err); 
     return null; 
    } else if (r.result.content) { 
     console.log("Success ... "); 
     return JSON.parse(r.result.content); 
    } 
} 

Dies funktioniert gut, aber es gibt auch einige wichtigen Informationen in dem Response-Header, die ich nicht in der Lage bin zu finden.

Was ich versucht habe bisher

Aber immer noch nicht meine Antwort Header sehen.

Weitere Informationen

Ich bin ziemlich neu in Meteor.js so dass ich nicht wirklich eine Idee, was ich tun könnte falsch aber Response-Header immer mir nicht sieht wie eine seltsame Sache.

+0

Welchen Router verwenden Sie für Ihren Restdienst? –

+0

Ich denke, es ist Eisen-Router: https://github.com/iron-meteor/iron-router (Ich bin nicht derjenige, der das Projekt einrichten) wo kann ich das validieren? –

+0

in .meteor Ordner, finden Sie eine Datei namens Pakete. Sie können alle von Ihnen verwendeten Pakete sehen. –

Antwort

1

Es ist nicht erforderlich, die Anforderung als Async-Aufruf zu umbrechen, wie es bereits der Fall ist.

Sie können einen try..catch Block verwenden, um sowohl erfolgreiche als auch fehlgeschlagene Anfragen zu bearbeiten.

try { 
    var result = HTTP.get(...); 
    var responseHeaders = result.headers; 
} catch (e) { 
    // handle error 
} 

Wenn die Antwort-Header JSON Reaktion zeigt, wird es als result.data analysiert und verfügbar sein. Die Antwort wird als Zeichenfolge in result.content verfügbar sein.

Weitere Details finden Sie in der HTTP package API docs.