2015-06-21 19 views
5

Sto utilizzando il modulo itunes-search e express framework in nodejs. Il modulo di ricerca restituisce variabili diverse come dettagli del software, dettagli musicali. Ho bisogno di dettagli di artisti musicali e dettagli di canzoni. Posso semplicemente restituire i dettagli del brano con il codice seguente. Qui avevo restituito una variabile tramite il rendering. Ma ho bisogno di restituire due variabili. Nel lato client:Nodejs & Express: come inviare variabili multiple (tipo dati JSON) dal server al client tramite Render

$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; 
} 

codici urlò sono i lati del server:

In route.js

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

In funzione search_music ho fatto musica di ricerca:

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

E ' sta lavorando. Ma ho anche bisogno di inviare un altro dati calcolati come

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

E 'possibile facendo alcuni trucchi nella funzione search_music e search_music_data? Lo apprezzerò molto se lui/lei può aiutarmi.

risposta

7

Utilizzare questo nel codice lato server. Penso che questo ti aiuterà. Questo è l'esempio di più valori inviati da server a client.

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

Nel lato client:

è possibile accedervi data.artist & data.music dal regolatore angolare.

0

in modo da poter passare un oggetto al metodo response.send che quell'oggetto includerà le informazioni sul brano e sull'artista.

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

response.send(data); 

ho cercato itunes-ricerca, ma getta un errore quando ho iniziato ad usarlo, così ho creato il mio own module che fare lo stesso compito, come itunes-ricerca.

Questo è il mio esempio usando il mio metodo getSongsAndArtistInfo che restituisce un oggetto che contiene canzoni e informazioni artista proprietà:

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'); 
}); 
Problemi correlati