[英]Node.js Express and Parse.com
我已經設置了一個node.js服務器應用,我想執行一些parse.com請求。 我基本上希望它返回解析對象JSON表示形式。
我的路線:
var blog = require('./models/model'); app.get('/api/article/:permalink', function(req, res) { res.json(blog.getArticle(req.params.permalink)); });
而我的模型:
var Parse = require('parse/node').Parse, // load the parse for node package keys = require('../../config/keys'); // keys config-file for hosted services Parse.initialize(keys.app, keys.js); module.exports = { getArticle: function(permalink) { "use strict"; var Article = Parse.Object.extend('Article'); var query = new Parse.Query(Article); query.include('category'); query.include('profile'); query.equalTo('permalink', permalink); query.find().then(function(results) { return results; }, function(error) { return error; }); } };
事情是,當我調用一個我知道存在的永久鏈接的文章時,這什么都不會返回(例如: http:// localhost / api / article / testFoo )。 我也沒有任何錯誤。
我的瀏覽器控制台閃爍一會兒,顯示以下消息:
Resource interpreted as Document but transferred with MIME type application/json: "http://localhost/api/article/testFoo"
對我做錯了什么建議嗎?
您正在嘗試使用異步函數的返回值。 這行不通,您需要將回調(或res
對象)傳遞給getArticle
函數,然后它將使用它將數據發送回去。
帶有回調:
app.get('/api/article/:permalink', function(req, res) {
blog.getArticle(req.params.permalink, function(data) {res.json(data)});
});
...
getArticle: function(permalink,callback) {
...
query.find().then(function(results) {
callback(results);
}, function(error) {
callback({error: error});
});
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.