Express/Parse - 无法得到回复
Express/Parse - cannot get respond back
我已经编写了一些脚本来从我的解析服务器 (http://parseplatform.org/) 获取数据。但是我无法得到结果,我可以寻求一些建议吗?我知道 parse.query 是一个 "promise function",但它应该适用于简单的 get/post 请求?
app.get('/api/getInstant/', function (req, res) {
let classname = req.query["cid"]; //cid
let colname = req.query["col"]; //col
console.log('OK-1: '+classname+' '+colname+"\n\r");
Parse.initialize(ServerInfo['appId'],ServerInfo['masterKey'],ServerInfo['masterKey'])
Parse.serverURL = ServerInfo['serverURL']
let ReadClass = Parse.Object.extend(classname);
let query = new Parse.Query(ReadClass);
query.exists(colname);
query.descending(DecendingSortBy);
query.limit(1);
console.log('OK-2: Start Query\n\r');
query.find().then((results) => {
// results is an array of parse.object.
_.each(results, function(result) {
let search_result = null
search_result= result.get(colname);
console.log('OK-3: '+search_result+"\n\r");
res.sendStatus(search_result);
})
}).catch((error) => {});
});
这是我在控制台中得到的结果:
在 http://:::8080
监听的示例应用程序
OK-1: YoHandsome OutTemp
OK-2: Start Query
OK-3: 27.2
已更新 @ 180810-1631 错误消息
RangeError [ERR_HTTP_INVALID_STATUS_CODE]: Invalid status code: 27.2
at ServerResponse.writeHead (_http_server.js:201:11)
at ServerResponse._implicitHeader (_http_server.js:192:8)
at write_ (_http_outgoing.js:637:9)
at ServerResponse.end (_http_outgoing.js:760:5)
at ServerResponse.send (/home/ubuntu/MyComputer-Server/DashboardWeb/node_modules/express/lib/response.js:221:10)
at ServerResponse.sendStatus (/home/ubuntu/MyComputer-Server/DashboardWeb/node_modules/express/lib/response.js:359:15)
at /home/ubuntu/MyComputer-Server/DashboardWeb/WebServerLauncher.js:50:7
at Function._.each._.forEach (/home/ubuntu/MyComputer-Server/DashboardWeb/node_modules/underscore/underscore.js:186:9)
at query.find.then (/home/ubuntu/MyComputer-Server/DashboardWeb/WebServerLauncher.js:46:7)
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:182:7)
您的代码是正确的,只是您试图发送无效的问题HTTP Status Code
因为这是一个成功案例,您可以发送 200 作为状态代码,相应的数据可能会进入请求响应正文。
app.get('/api/getInstant/', function (req, res) {
let classname = req.query["cid"]; //cid
let colname = req.query["col"]; //col
console.log('OK-1: '+classname+' '+colname+"\n\r");
Parse.initialize(ServerInfo['appId'],ServerInfo['masterKey'],ServerInfo['masterKey'])
Parse.serverURL = ServerInfo['serverURL']
let ReadClass = Parse.Object.extend(classname);
let query = new Parse.Query(ReadClass);
query.exists(colname);
query.descending(DecendingSortBy);
query.limit(1);
console.log('OK-2: Start Query\n\r');
query.find().then((results) => {
// results is an array of parse.object.
_.each(results, function(result) {
let search_result = null
search_result= result.get(colname);
console.log('OK-3: '+search_result+"\n\r");
res.status(200).json({data: search_result});
})
}).catch((error) => {res.status(500).json({msg: 'Sorry, something went wrong!'})});
});
我已经编写了一些脚本来从我的解析服务器 (http://parseplatform.org/) 获取数据。但是我无法得到结果,我可以寻求一些建议吗?我知道 parse.query 是一个 "promise function",但它应该适用于简单的 get/post 请求?
app.get('/api/getInstant/', function (req, res) {
let classname = req.query["cid"]; //cid
let colname = req.query["col"]; //col
console.log('OK-1: '+classname+' '+colname+"\n\r");
Parse.initialize(ServerInfo['appId'],ServerInfo['masterKey'],ServerInfo['masterKey'])
Parse.serverURL = ServerInfo['serverURL']
let ReadClass = Parse.Object.extend(classname);
let query = new Parse.Query(ReadClass);
query.exists(colname);
query.descending(DecendingSortBy);
query.limit(1);
console.log('OK-2: Start Query\n\r');
query.find().then((results) => {
// results is an array of parse.object.
_.each(results, function(result) {
let search_result = null
search_result= result.get(colname);
console.log('OK-3: '+search_result+"\n\r");
res.sendStatus(search_result);
})
}).catch((error) => {});
});
这是我在控制台中得到的结果: 在 http://:::8080
监听的示例应用程序OK-1: YoHandsome OutTemp
OK-2: Start Query
OK-3: 27.2
已更新 @ 180810-1631 错误消息
RangeError [ERR_HTTP_INVALID_STATUS_CODE]: Invalid status code: 27.2
at ServerResponse.writeHead (_http_server.js:201:11)
at ServerResponse._implicitHeader (_http_server.js:192:8)
at write_ (_http_outgoing.js:637:9)
at ServerResponse.end (_http_outgoing.js:760:5)
at ServerResponse.send (/home/ubuntu/MyComputer-Server/DashboardWeb/node_modules/express/lib/response.js:221:10)
at ServerResponse.sendStatus (/home/ubuntu/MyComputer-Server/DashboardWeb/node_modules/express/lib/response.js:359:15)
at /home/ubuntu/MyComputer-Server/DashboardWeb/WebServerLauncher.js:50:7
at Function._.each._.forEach (/home/ubuntu/MyComputer-Server/DashboardWeb/node_modules/underscore/underscore.js:186:9)
at query.find.then (/home/ubuntu/MyComputer-Server/DashboardWeb/WebServerLauncher.js:46:7)
at <anonymous>
at process._tickCallback (internal/process/next_tick.js:182:7)
您的代码是正确的,只是您试图发送无效的问题HTTP Status Code
因为这是一个成功案例,您可以发送 200 作为状态代码,相应的数据可能会进入请求响应正文。
app.get('/api/getInstant/', function (req, res) {
let classname = req.query["cid"]; //cid
let colname = req.query["col"]; //col
console.log('OK-1: '+classname+' '+colname+"\n\r");
Parse.initialize(ServerInfo['appId'],ServerInfo['masterKey'],ServerInfo['masterKey'])
Parse.serverURL = ServerInfo['serverURL']
let ReadClass = Parse.Object.extend(classname);
let query = new Parse.Query(ReadClass);
query.exists(colname);
query.descending(DecendingSortBy);
query.limit(1);
console.log('OK-2: Start Query\n\r');
query.find().then((results) => {
// results is an array of parse.object.
_.each(results, function(result) {
let search_result = null
search_result= result.get(colname);
console.log('OK-3: '+search_result+"\n\r");
res.status(200).json({data: search_result});
})
}).catch((error) => {res.status(500).json({msg: 'Sorry, something went wrong!'})});
});