2015-06-21 8 views
5

Używam modułu itunes-search i express framework w języku nodejs. Moduł wyszukiwania zwraca różne zmienne, takie jak szczegóły oprogramowania, szczegóły muzyczne. Potrzebuję szczegółowych informacji o wykonawcy muzyki i szczegółów utworu. Mogę po prostu zwrócić szczegóły piosenki z ryczącym kodem. Tutaj zwróciłem jedną zmienną przez rendering. Ale muszę zwrócić dwie zmienne. Na stronach klienckich:Nodejs & Express: Jak wysłać wiele zmiennych (Json Datatype) z serwera do klienta poprzez Renderowanie

$scope.search_music_data = function(data) 
{ 
    var data="HamdunSoft";//Search my favourite artist name or band name 
    $http({'method' : 'post', url: '/search', data: {'search_item' : data}}). 
    success(function(data){ 
     $scope.artist_name = data; 
    }). 
    error(function(data){ 
    }) 
    $scope.check = true; 
} 

kody ryknął są w bokach serwerowych:

W route.js

app.post('/search', search.search_music); 

W funkcji search_music zrobiłem wyszukiwania muzyka:

song="calculated data Json Data" 
var response.send(song); 

It działa. Ale też trzeba wysłać kolejne dane obliczone jak

song="calculated data Json Data" 
    artist="calculated data Json Data" 
    var response.send(song,artist); 

Czy to możliwe, wykonując kilka sztuczek w funkcji search_music i search_music_data? Będę bardzo wdzięczny, jeśli on/ona może mi pomóc.

Odpowiedz

7

Użyj tego w kodzie strony serwera. Myślę, że to ci pomoże. Jest to przykład wielu wartości wysyłanych z serwera do klienta.

res.send({artist: artist_details, music: music_details}); 

Na stronie klienta:

masz do niego dostęp data.artist & data.music z kątowym kontrolera.

0

dzięki czemu można przekazać obiekt do metody response.send, która będzie zawierać informacje o utworze i wykonawcy.

var data = { 
    song: .., 
    artist: .. 
}; 

response.send(data); 

Próbowałem iTunes przeszukiwanie ale zgłasza błąd, kiedy zaczęło go używać, więc tworzę own module że robią to samo zadanie jak iTunes-search.

To jest mój przykład stosując własną metodę getSongsAndArtistInfo która zwraca obiekt zawierający utwory i właściwości Artist info:

var express = require('express'); 
var app = express(); 
var bodyParser = require('body-parser'); 

var itunes = require('./itunes'); 

app.use(bodyParser.json()); 
app.use(bodyParser.urlencoded({extended: true})); 

app.post('/search', function (req, res) { 
    var searchItem = req.body.searchItem; 
    itunes.getSongsAndArtistInfo(searchItem, function (err, result) { 
    if (err) res.status(404).send(err); 

    res.send(result); 
    }); 
}); 

app.listen(4000, function() { 
    console.log('server up and running at 4000 port'); 
}); 
Powiązane problemy