我正在开发一个用于itunes搜索的nodejs搜索应用程序,并使用express框架从本地数据库中搜索一些软件信息。搜索模块通过一个json变量返回软件名称、音乐名称等信息。但现在我还需要通过另一个不同的json变量获得音乐艺术家详细信息/软件公司名称。我可以简单地用咆哮的代码返回歌曲的详细信息。在客户端:
$scope.search_music_data = function(data)
{
var data="Hamdoon Soft";//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;
}
波纹管代码在服务器端:
在route.js
app.post('/search', search.search_music);
在search_music函数中,当前此代码正在工作:
ItemName="calculated data Json Data"
var response.send(ItemName);
但我也需要发送另一个计算数据,如
ItemName="calculated data Json Data"
ArtistName="calculated data Json Data"
var response.send(ItemName, ArtistName);
或ItemName="计算数据Json数据"SoftWareCompnayName="计算数据Json数据"var response.send(ItemName,SoftWareCompnayName);有可能吗?如果他/她能帮助我,我将非常感谢他/她。
在服务器端代码中使用它。我想这会对你有所帮助。这是从服务器向客户端发送多个值的示例。
res.send({artist: artist_details, music: music_details});
客户端:
你可以访问它的数据。artist&来自角度控制器的data.music。
这样您就可以将一个对象传递给response.send方法,该对象将包括您的歌曲和艺术家信息。
var data = {
song: ..,
artist: ..
};
response.send(data);
我尝试过itunes搜索,但当我开始使用它时,它会抛出一个错误,所以我创建了自己的模块,执行与itunes搜索相同的任务。
这是我使用自己的方法getSongsAndArtistInfo的示例,该方法返回一个包含歌曲和艺术家信息属性的对象:
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');
});
您可以有多个res.write(),但只能有一个res.send()…
res.write("object")
res.write("object")
res.send()