2013-03-24 11 views
6

Gibt es eine Möglichkeit, geraden Text in einer Seite mit Meteor zurückgeben? Sagen wir, jemand hat domain.com/get/that-thing angefordert, und ich wollte nur die Zeichenfolge "52" zurückgeben, damit der Anfragende weiß, dass das Ding "52" von etwas hat. Nach meinem Verständnis ist dies in Meteor nicht möglich, da die Header und solche immer enthalten sind.JSON Endpunkt in Meteor

2 Hacks, die funktionieren würden: Schreiben Sie in eine Datei mit dem Namen "That-Thing" in Erwartung, dass "That-Thing" könnte aufgerufen werden. Dies funktioniert im allgemeinen Fall nicht. Setzen Sie einen Reverse-Proxy, der einige der Anfragen an ein Nicht-Meteor-Backend umleitet.

Gibt es einen besseren Weg, dies zu tun?

Antwort

0

Router unterstützt dies; überprüfen Sie die serverseitige Routing-out: https://github.com/tmeasday/meteor-router

+1

** Meteor-Router ** * offiziell * *** eingestellt ***. Der Meteor-Router GitHub Repo verweist den Benutzer auf https://github.com/EventedMind/iron-router, der * JSON * nicht unterstützt. :-(Schreiben Sie eine benutzerdefinierte Lösung. Lassen Sie es mich wissen, wenn Sie möchten, dass ich teile) – nelsonic

13

ich diese heute zu lösen hatte und mit Eisen-Router Server-side-Routing: https://github.com/EventedMind/iron-router/blob/master/DOCS.md#server-side-routing

Einfaches Beispiel:

Router.map(function() { 
    this.route('api', { 
    path: '/api', 
    where: 'server', 
    action: function() { 
     var json = Collection.find().fetch(); // what ever data you want to return 
     this.response.setHeader('Content-Type', 'application/json'); 
     this.response.end(JSON.stringify(json)); 
    } 
}); 
}); 

Dies wird eine Rückkehr gültige JSON "Seite", die Sie dann verwenden können, wie immer Sie wollen.

Dank für die Beantwortung @Akshat: Meteor Iron-Router Without Layout Template or JSON View