Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 无法使用res发送数字。使用带有节点的express发送()_Javascript_Json_Node.js_Express_Couchdb - Fatal编程技术网

Javascript 无法使用res发送数字。使用带有节点的express发送()

Javascript 无法使用res发送数字。使用带有节点的express发送(),javascript,json,node.js,express,couchdb,Javascript,Json,Node.js,Express,Couchdb,我正在尝试使用节点中的express获得“imdb评级”,我正在努力 movies.json [{ "id": "3962210", "order": [4.361276149749756, 1988], "fields": { "year": 2015, "title": "David and Goliath", "director": "Timothy A. Chey" }, "doc": { "_id": "3962210", "_rev": "1-

我正在尝试使用节点中的express获得“imdb评级”,我正在努力

movies.json

[{
"id": "3962210",
"order": [4.361276149749756, 1988],
"fields": {
    "year": 2015,
    "title": "David and Goliath",
    "director": "Timothy A. Chey"
},
"doc": {
    "_id": "3962210",
    "_rev": "1-ac648e016b0def40382d5d1b9ec33661",
    "title": "David and Goliath",
    "year": 2015,
    "rating": "PG",
    "runtime": "92 min",
    "genre": ["Drama"],
    "director": "Timothy A. Chey",
    "writer": ["Timothy A. Chey"],
    "cast": ["Miles Sloman", "Jerry Sokolosky", "Makenna Guyler", "Paul Hughes"],
    "poster": "http://ia.media-imdb.com/images/M/MV5BMjA3OTQ4NDc4MV5BMl5BanBnXkFtZTgwNDYwMzA1MjE@._V1_SX300.jpg",
    "imdb": {
        "rating": 8.4,
        "votes": 138,
        "id": "tt3962210"
    }
}
}, {
"id": "251656",
"order": [3.489020824432373, 686],
"fields": {
    "year": 1999,
    "title": "David Cross: The Pride Is Back",
    "director": "Troy Miller"
},
"doc": {
    "_id": "251656",
    "_rev": "1-2d0762776874f94af8f2d76e5991b529",
    "title": "David Cross: The Pride Is Back",
    "year": 1999,
    "rating": null,
    "runtime": "55 min",
    "genre": ["Comedy"],
    "director": "Troy Miller",
    "writer": ["David Cross"],
    "cast": ["David Cross", "Molly Brenner", "Amiira Ruotola"],
    "poster": "http://ia.media-imdb.com/images/M/MV5BODcwMjMxOTU4OF5BMl5BanBnXkFtZTgwODE0MTc4MTE@._V1_SX300.jpg",
    "imdb": {
        "rating": 7.9,
        "votes": 380,
        "id": "tt0251656"
    }
}
}]
结果

res.send(result.rows[0].doc.imdb)返回
{“评级”:8.4,“投票数”:138,“id”:“tt3962210”}

但是

res.send(result.rows[0].doc.imdb.rating)//不返回8.4,只返回崩溃的节点

res.send(result.rows[0].doc.title)//返回David和Goliath

res.send(result.rows[0].doc.cast[0])//返回迈尔斯·斯洛曼

我哪里出错了?

根据文档:

body参数可以是缓冲区对象、字符串、对象或数组

你不能单独发送一个号码

尝试将数字转换为字符串

res.send(''+result.rows[0].doc.imdb.rating);
或者将其作为对象值发送

res.send({ result: result.rows[0].doc.imdb.rating});

这样做有效,您必须将其转换为字符串: threeFunction().toString() 或
x1.toString()

整数对于res.send()无效,因此请将其转换为字符串

res.send(value.toString())

它“崩溃”节点?有错误消息吗?如果您尝试发送任何号码会发生什么情况?比如说,
result.rows[0].doc.imdb.vows
?res.send不适用于数字。尝试将评级转换为stringI-trued
res.send(result.rows[0].doc.imdb.id)并且返回了正确的结果,所以@AlbertoRivera是正确的,这对新手来说是个难题<代码>res.send(“”+result.rows[0].doc.imdb.rating)
工作得很好很好很好的操作问题和很好的解决方案。我应该在express
res.send():
?@Jason当然,这可以帮助其他有类似问题的人谢谢。这是有用的。我解决了我的问题。我认为他们的算法是有效的,如果值是数字,请查看我们的状态代码。