2013-06-28 13 views

Odpowiedz

11

Jeśli używasz Express w node.js, tutaj jest sposób wysyłania json obiektu jako odpowiedzi:

app.get('/test', function(req, res, next) { 
    res.json({ message: 'Hello World' }); 
}); 

Następnie w JS na swojej stronie HTML html, jeśli używasz jQuery:

$.ajax({ 
    url: '/test', 
    complete: function(data) { 
    console.log(data); 
    } 
}); 

Możesz eksperymentować z różnymi rzeczami, a także korzystać z Narzędzi dla programistów w Chrome, eksperymentować - bardzo pomaga zrozumieć, co i jak to działa.

+0

TIL 'res.json()' - to właśnie uratowało mnie obciążenie wysiłkiem z 'JSON.stringify' wszędzie – Bojangles

+0

można zrobić res.send(), a także, o ile jestem problemem, ostatni express doda aplikację/json Content-Type, jeśli spróbujesz wysłać obiekt. Do jQuery należy prawidłowe przeanalizowanie. Chociaż jeśli Content-Type nie jest jsonem, ale wciąż jesteś pewien, że zawsze będzie to json, możesz wymusić go w jQuery, dodając 'dataType: 'json'' w parametrach w' $ .ajax ({..' – moka

+2

Interesujące, dzięki dla informacji (choć wprawdzie czuję, że powinienem po prostu czytać dokumenty i zaoszczędzić ci czas ';)') – Bojangles

0

Wyjazd przykład poradnik Heroku użytkownika. Myślę, że robi dokładnie to, o co prosisz, pod względem kodowania JSON + rzutów w gniazdach internetowych. https://devcenter.heroku.com/articles/node-websockets

+0

Lepiej jest podać krótkie wyjaśnienie i podać link dla odniesienia szczegółów. Odpowiedzi dotyczące linków mogą stać się nieważne, jeśli strona z linkami się zmieni. – songyuanyao