尝试使用NODEJS和enyo作为前端创建Web服务

时间:2012-01-13 15:29:19

标签: node.js enyo

我在NODJS中创建了一个简单的Web服务器。当连接到http://localhost:8888/时,web浏览器即firfox将显示hellow world。但是enyon web服务onSuccess回调显示来自inResponse的空字符串。我创建了一个静态网页,enyo从我当地的hypache服务器上加载了它。为什么enyo总是从nodejs发送的东西中显示w null?

网络服务器

http.createServer(function(request, response) {
response.writeHead(200, {"Content-Type": "text/plain"});
response.write("Hello World");
response.end();
}).listen(8888);

我写了一个简单的enyo程序,当你按下按钮它会做一个web服务并在一个警告框中显示结果

enyo.kind({
name: "MyApps.MainApp",
kind: enyo.VFlexBox,

// comment code to load in data gfrom service
components: [
{name: "getName", kind: "WebService",
onSuccess: "gotName",
onFailure: "gotNameFailure",
url: "http://localhost:8888/"
},

{kind: "PageHeader", content: "Enyo FeedReader"},
{name:"curValue", content:("Sample Text")},
{kind: "Button", caption: "Action", onclick: "btnClick"} ],

// functions go here
create: function()
{
// call the default creat then do our stuff
this.inherited(arguments);
this.$.getName.call();
},

// Show output of server,
gotName: function(inSender, inResponse) {
this.$.button.setCaption("Success");
alert(inResponse );
},


// go here if it cold not connect to server
gotNameFailure: function(inSender, inResponse) {
this.$.button.setCaption("Failure"); },

// call the server
btnClick: function() {

this.$.getName.call(); }
});

泰德

1 个答案:

答案 0 :(得分:0)

您是否有理由编写自己的Web服务? enyo.WebService类已经可供您使用。

如果您真的需要自己的,我建议您在以下示例项目中查看服务的实现方式:https://github.com/palm/txjs-fortunecookie