Nodejs & Express:如何通过 response.send() 从服务器向客户端发送多个 Json 变量
Nodejs & Express: How to send multiple Json variable from server to Client through response.send()
我正在为 itunes-search and searching some software information from my local database with express framework 开发一个 nodejs 搜索应用程序。搜索模块 return 的软件名称、音乐名称等信息通过单个 json 变量。但现在我还需要通过另一个不同的 json 变量获得音乐艺术家详细信息/软件公司名称。我可以用下面的代码简单地 return 歌曲的详细信息。
在客户端:
$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="calculated data Json Data"
软件公司名称="calculated data Json Data"
var response.send(ItemName, SoftWareCompnayName);
可能吗?如果he/she能帮到我,我将不胜感激him/her。
在服务器端代码中使用它。我想这会对你有所帮助。这是从服务器向客户端发送多个值的示例。
res.send({artist: artist_details, music: music_details});
在客户端:
您可以从 angular 控制器访问它 data.artist & data.music。
因此您可以将一个对象传递给 response.send 方法,该对象将包含您的歌曲和艺术家信息。
var data = {
song: ..,
artist: ..
};
response.send(data);
我试过 itunes-search,但是当我开始使用它时它会抛出一个错误,所以我创建了我的 own module 来执行与 itunes-search 相同的任务。
这是我使用自己的方法 getSongsAndArtistInfo 的示例,其中 returns 包含歌曲和艺术家信息属性的对象:
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()
我正在为 itunes-search and searching some software information from my local database with express framework 开发一个 nodejs 搜索应用程序。搜索模块 return 的软件名称、音乐名称等信息通过单个 json 变量。但现在我还需要通过另一个不同的 json 变量获得音乐艺术家详细信息/软件公司名称。我可以用下面的代码简单地 return 歌曲的详细信息。 在客户端:
$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="calculated data Json Data" 软件公司名称="calculated data Json Data" var response.send(ItemName, SoftWareCompnayName); 可能吗?如果he/she能帮到我,我将不胜感激him/her。
在服务器端代码中使用它。我想这会对你有所帮助。这是从服务器向客户端发送多个值的示例。
res.send({artist: artist_details, music: music_details});
在客户端:
您可以从 angular 控制器访问它 data.artist & data.music。
因此您可以将一个对象传递给 response.send 方法,该对象将包含您的歌曲和艺术家信息。
var data = {
song: ..,
artist: ..
};
response.send(data);
我试过 itunes-search,但是当我开始使用它时它会抛出一个错误,所以我创建了我的 own module 来执行与 itunes-search 相同的任务。
这是我使用自己的方法 getSongsAndArtistInfo 的示例,其中 returns 包含歌曲和艺术家信息属性的对象:
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()