none
Web能否实现与直接应用程序通信? RRS feed

  • 问题

  • 我想通过在服务器上建立一个简单的ASP页面,以access为后台数据库,ASP页面是不能直接操作。然后通过应用程序提交带有参数的URL交给ASP去处理(例如这样子的logincheck.asp?txtname=aaa&pwd=bbb),网页通过查询后台数据库给出提示,所提交的信息是否正确。
    我现在的方法是在ASP处理完信息后,输出相应的信息,程序通过读取返回的页面html代码来判断是否登录成功(例如登录成功,则输出“登录成功”字样,然后程序通过读取html,依次对比是否有预定的文字提示,然后做出操作)。
    这样子简单的验证用户身份还不算很麻烦,可是如果我需要将数据库所有记录用表格的形式列出来,那么通过html来获得数据显然就是不合理也是很费时的方法。所以想请问一下,有没有办法可以让网页查询数据库后得到的结果直接反馈给程序?
    (WEB我是使用ASP+access,程序语言是VB,主要是使用Inet控件提交带有参数的URL,然后判断返回值)


    (不要说网上现在这种要网络验证的软件用的都是mssql、MySQL之类的,应用程序可以直接连接数据库的~~~~~)



    ------------------------
    举个例子,现在能在线播放音乐的播放器(例如:QQ播放器、千千静听),都有一个音乐窗口,实质就是打开了一个网页,在里面随便点一首歌,选试听,那么播放器软件里的播放列表就有了这首歌,我猜想,是在用户点击链接后,应该是发送了一些信息给软件,软件才知道应该执行什么操作。那么,这种软件,是怎么将网页上的信息发送给软件,并且让软件接受到的呢?
    • 已编辑 4-Dream 2009年10月3日 3:00
    2009年10月3日 1:10

答案

  • 你要返回数据是很简单,比如
    你的vb里使用使用XMLHttp去请求asp页面的做法是:

    Set obj = CreateObject("Microsoft.XMLHTTP")
    obj.open("GET", "xxx.asp?name=xx", False)
    obj.send

    MsgBox ob.responseText

    xx.asp里面:
    <%
    Dim n
    n = Request.QueryString("name")
    ''查询数据库省略
    '返回值
    Response.Write "用户名正确"
    Response.End

    %>
    【孟子E章】
    2009年10月3日 5:05
    版主

全部回复

  • 是可以的啊。
    Inet控件或者XMLHTTP,ServerXMLHTTP都是可以的。他们就是实现跟浏览器类似的功能,访问asp,并且带参数都是可以的。

    【孟子E章】
    2009年10月3日 1:38
    版主
  • 是可以的啊。
    Inet控件或者XMLHTTP,ServerXMLHTTP都是可以的。他们就是实现跟浏览器类似的功能,访问asp,并且带参数都是可以的。

    【孟子E章】

    你理解错我的意思了,如果是通过浏览器来获得返回的数据,那么必然要分析返回的html代码,从中获取有用的数据。
    假如返回的是一个查询的表格内容,而记录数量很多,有几千条,那么每次查询后都通过程序分析html来获得有用的的数据,然后在程序中进行处理,那么必然是比较浪费时间和资源的。
    我想法是程序能不能通过特殊的web页面(假如存在可以完整这样工作的web页面),让ASP查询完数据后,不是将查询得到的数据输出在网页上,然后通过其他方法直接传递给程序,这样的话,程序就省去了分析的过程,相对处理速度也变快了 简而言之,就是想通过web页面的中转,以达到程序直接连接数据库并得到数据库结果的效果。而不是通过web输出在客户端的html代码来获得数据
    2009年10月3日 2:33
  • 您好,可以考虑采用web service技术来解决。没在asp中使用过,相信会比较麻烦,在asp.net中会简单很多。
    2009年10月3日 3:24
  • web页面返回的数据,不一定都是用来显示的。比如你可以返回json,xml格式的内容。或者直接返回流数据都可以。

    我不清楚你为什么要
    那么必然要分析返回的html代码??

    既然你要通过asp返回数据,采用用web service ,asp.net ,php,甚至jsp,道理都是一样的

    【孟子E章】
    2009年10月3日 3:52
    版主
  • web页面返回的数据,不一定都是用来显示的。比如你可以返回json,xml格式的内容。或者直接返回流数据都可以。

    我不清楚你为什么要
    那么必然要分析返回的html代码??

    既然你要通过asp返回数据,采用用web service ,asp.net ,php,甚至jsp,道理都是一样的

    【孟子E章】

    web service我查了一下介绍,根据我查到的资料,好像都是基于.net平台,正如Jiyuan 所言,用ASP应该会很难,而且我的服务器并不支持asp.net,
    我想知道“直接返回流数据”是什么意思?因为我以前从来没涉及过网页编程,也是软件需要现在才接触,依靠以前学过的VB,勉强还可以用VBS写个ASP程序,所以麻烦多解释一下看
    2009年10月3日 4:30
  • 你要返回数据是很简单,比如
    你的vb里使用使用XMLHttp去请求asp页面的做法是:

    Set obj = CreateObject("Microsoft.XMLHTTP")
    obj.open("GET", "xxx.asp?name=xx", False)
    obj.send

    MsgBox ob.responseText

    xx.asp里面:
    <%
    Dim n
    n = Request.QueryString("name")
    ''查询数据库省略
    '返回值
    Response.Write "用户名正确"
    Response.End

    %>
    【孟子E章】
    2009年10月3日 5:05
    版主