js都是怎么服务的,js运行在服务端吗
什么是js服务
商业领域
JS-(奸商JianShang)的首字母。JS一词似乎最初来自于网络游戏。在早期的DIABLO游戏中最早
出现了虚拟物品的交易,一些玩家对此独具慧眼,以低价买,高价卖,逐渐积累大量物资,甚至
成为游戏活动的主要内容。于是其他玩家便称这种二道贩子的行为为JS,此奸其实是精明之意。
现在JS更多用以指代现实中的奸商特别是攒机商,但是网友立场几乎一边倒地站在商家反方,
于是无论商家好坏都叫JS。
计算机领域的JS
JavaScript 缩写。一种计算机脚本语言,主要在web浏览器(客户端)解释执行,由网景公司开发。
游戏中的含义
指代了一群特殊人群,他们通过倒卖游戏游戏中的各种装备材料等来获取丰厚的利润(和奸商差不多)
如何用JavaScript调用Web服务
通过JavaScript中的两个方法——useService和callService来调用一个已存在的Web服务
callService这个方法的语法:
iCallID = sElementID.sFriendlyName.callService([oCallHandler], funcOrObj, oParam);
iCallID是调用服务后返回的ID。
sElementID是useService方法的一个控件元素ID。稍后讲如何用userServie。
sFriendlyName是服务名,比如.NET中Default.asmx,则这里是Default。
oCallHandler是处理响应结果的回调函数,因为有些请求无需关注响应结果,在这里是可选参数。
funcOrObj是web服务中的方法,在.NET中便是标有[WebMethod]的一些公用方法。
oParam是Web Method中的参数,可以是0,1,2,…个参数。
useService语法:
useService刚开始让我费解的是哪里来的这个方法,后来发现我们需要去微软官方上下载一个叫webservice.htc的文件。
下载完这个文件,将其放到根目录下,在你的html里写上这样一段代码就轻松搞定:
body style="behavior: url(webservice.htc)"/
在onload时初始化web服务,初始化代码如下:
var iCallID;
function init() {
serviceZivsoft.useService("Default.asmx?WSDL", "Default");
}
关于useService更详细的解释,可以去MSDN上查阅,用法还是比较简单的。
及如何在js中调用服务
webservice服务代码
View Code
在服务中调用引用的服务,并将Ajax脚本调用改取消的注释取消
回到顶部
JS调用
JS调用方式同一站点的webservice
var name=$("#birthday").val();
$.ajax({
type: "Post", //Post传参
url: "/WebService1.asmx/HelloWorld1",//服务地址
data: "{name:'" + name + "'}",//参数
dataType: "json",
contentType: "application/json;charset=utf-8",
success: function (result) {
// 调用成功后,将获取的名字填入name文本框中。
$("#name").val(result.d);
},
error: function (e) {
window.alert(e.status);
}
})
windows node.js怎么搭建服务器
这个web服务器包括三块,app.js是程序入口,负责响应url请求;route.js是路由,用来分发处理复杂的业务逻辑;system.js是配置文件,用来配置服务器参数,如host、port等
首先来看app.js,引用模块,http处理url请求,url用来解析请求参数和路径,path只是用来匹配路径的扩展名o(╯□╰)o,fs用来读取本地静态文件,剩下两个模块后面详解。
接下来正式创建服务器处理请求,请求大致分两类,一类是静态文件,如xxx.html、xxx.js等等,另一类是进行业务处理,如常见的增删查改操作,这一部分操作交给路由处理,这里用了一个简单的判断逻辑:通过后缀名,后缀名在system.js中配置。
读取本地文件的时候要注意一点,那就是缓存。如果客户端发出重复请求,服务器需要判断文件自上次请求后是否发生了修改,如果未修改返回304,这样可以加快浏览器端的响应速度。这里的判断方式是通过判断请求的header的if-modified-since时间和本地文件修改时间是否一致,如果一致则返回304,否则重置该时间,第一张图是代码,第二张图是通过chrome调试工具看到的请求头部时间。
如果需要进行业务处理,则交给路由处理了。首先路由引入具体的业务逻辑模块,然后通过解析具体的路径名来执行具体的业务逻辑,这里注意的是:由于node.js的并发特性,记得传入回调函数来获得相应的处理结果。
nodejs服务后台持续运行三种方法
forever是一个nodejs守护进程,完全由命令行操控。forever会监控nodejs服务,并在服务挂掉后进行重启。
1、安装 forever
npm install forever -g
2、启动服务
service forever start
3、使用 forever 启动 js 文件
forever start index.js
4、停止 js 文件
forever stop index.js
5、启动js文件并输出日志文件
forever start -l forever.log -o out.log -e err.log index.js
6、重启js文件
forever restart index.js
7、查看正在运行的进程
forever list
pm2是一个进程管理工具,可以用它来管理你的node进程,并查看node进程的状态,当然也支持性能监控,进程守护,负载均衡等功能
npm install -g pm2
pm2 start app.js ? ?// 启动
pm2 start app.js-i max ? //启动 使用所有CPU核心的集群
pm2 stop app.js ? ? ? // 停止
pm2 stop all ? ? ? ? ? ? // 停止所有
pm2 restart app.js ? ?// 重启
pm2 restart all ? ? ? ? ?// 重启所有
pm2 delete? app.js? ? ?// 关闭
运行 pm2 startup ,即在/etc/init.d/目录下生成pm2-root的启动脚本,且自动将pm2-root设为服务。
运行 pm2 save ,会将当前pm2所运行的应用保存在/root/.pm2/dump.pm2下,当开机重启时,运行pm2-root服务脚本,并且到/root/.pm2/dump.pm2下读取应用并启动。
nodejs 自带node.js自带服务nohub,不需要安装别的包。
缺点:存在无法查询日志等问题,关闭终端后服务也就关闭了, 经测试是这样的。
nohup node ***.js