Ala*_*-GI 11 javascript jira node.js ember.js sails.js
我正在使用Sane堆栈创建一个Web应用程序,它在客户端使用Ember.js作为JavaScript框架,在服务器端使用Sails.js作为node.js框架.我将我的应用程序架构构建如下:

我试图从Jira API REST获取一些数据,例如,我可以使用一个简单的控制器从sails.js获取JIRA API REST中的Project信息:
//server/app/controllers/JiraController
module.exports = {
loadProject : function(req, res){
console.log("Jira contoller");
var Http = require('machinepack-http');
process.env.NODE_TLS_REJECT_UNAUTHORIZED = "0";
Http.sendHttpRequest({
url: '/rest/api/2/project/',
baseUrl: 'https://jira.domain.com',
method: 'get',
headers: {
"Authorization": "Basic YWxhYS52654f0bWFuaTphbGFhNDE0NA=="
}
}).exec({
serverError: function(result) {
res.send("server error" + JSON.stringify(result));
},
success: function(result) {
// res.send("Projects loaded successfully");
res.send(result);
}
});
}
};
Run Code Online (Sandbox Code Playgroud)
在server/app/config/routes中:我添加:
'get /projects' : 'JiraController.loadProject'
Run Code Online (Sandbox Code Playgroud)
但我想要做的是使用Ember.js在客户端获取Project数据,换句话说,我希望sails.js请求JIRA API Rest,然后将数据(JSON)传递给Ember.js在视图中显示它.
我该怎么办呢!
编辑:
在客户端我这样做:
//pods/components/project/component.js
import Ember from 'ember';
export default Ember.Route.extend({
model() {
return Ember.$.getJSON('/api/v1/projects');
}
});
Run Code Online (Sandbox Code Playgroud)
如何在我的视图中呈现此JSON?
我认为您的代码中存在一些实现错误。
首先,您正在文件Ember.Route内部写入component.js,这是错误的。这样你的路线就被调用了component,因为这是错误的位置,你的路线model就空了。这不起作用还有一个原因。看看,你是如何调用modelhook 的!正确的做法如下:
import Ember from 'ember';
export default Ember.Route.extend({
model: function() {
return Ember.$.getJSON('/api/v1/projects');
}
});
Run Code Online (Sandbox Code Playgroud)
把它放在app/routes/components/component.js这样你的路线就被称为component。现在您必须能够访问model您的等效数据view,理想情况下应位于app/templates/components/component.hbs.
| 归档时间: |
|
| 查看次数: |
679 次 |
| 最近记录: |