Javascript 我怎样才能建立一个快速的;“哑巴”;我机器上的服务器?(电话间隙可访问)
我正在尝试创建一个简单的PhoneGap应用程序,它可以从服务器请求一些数据。我对服务器端代码非常陌生,我的目标只是评估在外部服务器上使用phonegap的可行性 我的应用程序已经准备好了phonegap(使用Javascript编写,我正在使用phonegap构建,并有一个AVD来测试应用程序),但我能找到的唯一持久化方法是处理本地存储。因此,要将我的问题分解为更清晰的部分:Javascript 我怎样才能建立一个快速的;“哑巴”;我机器上的服务器?(电话间隙可访问),javascript,eclipse,rest,cordova,xmlhttprequest,Javascript,Eclipse,Rest,Cordova,Xmlhttprequest,我正在尝试创建一个简单的PhoneGap应用程序,它可以从服务器请求一些数据。我对服务器端代码非常陌生,我的目标只是评估在外部服务器上使用phonegap的可行性 我的应用程序已经准备好了phonegap(使用Javascript编写,我正在使用phonegap构建,并有一个AVD来测试应用程序),但我能找到的唯一持久化方法是处理本地存储。因此,要将我的问题分解为更清晰的部分: 是否有一种“快速且肮脏”的方法来设置一个简单的服务器,可以从我的phonegap应用程序访问 首选的请求方法是什么?我
我正在使用EclipseKeplar,并且更喜欢避免使用命令提示符的方法 你真的需要更多的方法让事情持续下去吗?那么你可能会考虑WebSQL: 但是如果你真的需要一个小型虚拟服务器(你问题的第一部分),这取决于你目前的经验背景。安装PhoneGap后,可能会安装NodeJS,这意味着它是一个轻量级、快速且“即时”的服务器 因此,您可以将此脚本保存在文件系统中的某个位置,例如作为
/home/meee/dummy.js
:
var http = require('http');
http.createServer(function (req, res) {
var arguments = require('url').parse(req.url, true);
var query = arguments['query']; // JS Object with parsed GET string arguments
var command = '';
if (typeof query['command'] !== 'undefined') {
command = query['command'];
}
// Here would be the well designed command handler
var resultFromCommandHandler = "Work result for command: " + command;
var statusFromCommandHandler = "OK"; // what a liar
var response = { "status" : statusFromCommandHandler, "result" : resultFromCommandHandler };
res.writeHead(200, {'Content-Type': 'text/plain'});
res.end( JSON.stringify(response) );
}).listen(1337, '127.0.0.1');
console.log('Server running at http://127.0.0.1:1337/');
然后从命令行运行:
node /home/meee/dummy.js
> Server running at http://127.0.0.1:1337/
然后启动web浏览器并输入以下url:
http://127.0.0.1:1337/?command=getList&page=orders
浏览器会显示来自服务器的答案。因此,您可以运行最小的thinkable服务器。通过一些修补,您将在Eclipse中获得一个运行配置,让节点使用您的虚拟脚本运行。我甚至希望Node和Eclipse有现成的插件,因为这个软件非常流行
现在,从你的PhoneGap应用程序中,只要尝试调用URL并向命令处理程序添加有用的内容,那么你就可以轻松地在应用程序和服务器之间进行交互
此外,正如我提到的,您可能已经安装了tomcat服务器,所以请使用这个。如果你有一台mac电脑,可能会有一些Apache,试着启动它。随着时间的推移,我开始使用TurnKeyLinux,它是VMware/Fusion映像中的一个出色的微型灯安装()
关于问题的第2部分,如何联系服务器:
- AJAX是一种方法,而不是某种具体的协议。您使用AJAX来获取部分webside,一旦从服务器获得它们,您就在webside中构建它们。您可以使用任何客户端语言进行AJAX调用
- REST是一种通信原则,您可以使用定义良好的URL进行通信。它属于像SOAP这样的web架构定义的巨大领域,但它比SOAP轻得多李>
- jQuery是一个库,它简化了编写优秀Javascript客户端的过程。它包含一个有用的$.ajax()方法,您可以使用它
也许在这一点之后,您必须做一些进一步的研究,阅读一些开源服务器应用程序,阅读一些定义和概念。请注意,在编写web服务器应用程序时存在许多陷阱,因此不要做出一些硬性的最后期限承诺,它在您的第一个应用程序中不会起作用。此外,您还必须很快重新设计我们的虚拟HTML框架,以避免收到令人窒息的意大利面代码。对于已经使用Java但不想安装Node.js的用户,我通常使用spring boot和Java的几乎0行代码:
依赖项由Maven管理。如果您不熟悉Maven:有很多指南,您可以尝试以下代码-
var express = require("express");
var app = express();
app.get("/", function(req, res){
res.send("Get methods");
});
app.use(express.static("public")); // put the static data folder name here which contain your UI code.
var server = app.listen(8081, function(){
var host = server.address().address;
var port = server.address().port;
console.log(host +" : "+port);
});
按照中给出的说明进行操作谢谢您提供了如此详细的答案-您提供了一些有希望的起点!我的荣幸:-请考虑投票,如果它对你有持久的价值。谢谢