zoukankan      html  css  js  c++  java
  • 利用delegate调试Ajax应用(转)

           最近一直在开发Ajax应用程序。众所周知Ajax的特点是客户端和服务器分离,客户端通常由纯Javascript组成,通过XMLHttpRequest对象与服务器通信。在调试客户端代码时,如果服务器开在本地,尚可通过samba等方式直接编辑服务器上的客户端js代码,倘若服务器在异地,那么每次修改js代码后通过FTP等方式上传之后再调试就十分费事。说到这里自然会想到将js代码放到本地,然而XMLHttpRequest却只能访问同一域名下的URL,本地的js代码无法直接使用远程服务器上的服务。

    迷茫之际,同事介绍了delegate这款软件,利用它即可实现本地调试客户端代码。

        delegate实际上是一个功能强大的代理服务器,它有个类似于Linux的mount功能,能够将Internet上的URL映射到本地。利用这个功能,即可将远程的服务器端和本地的客户端集成到同一个域名下,实现客户端代码的本地调试。

        方法如下:

        将Apache配置到本机的8080端口,然后将客户端代码放在htdocs下,使之能够通过 http://localhost:8080/client/ 访问。

        下载delegate并解压缩。 编辑以下的配置文件 delegate.cfg。

    -P80
    ADMIN="yourname@yourmail.com"
    MOUNT="/client/* http://localhost:8080/client/*"
    MOUNT="/cgi-bin/* http://server-address/cgi-bin/*"

        第一行的 -P80 指定delegate使用80端口;第二行的ADMIN指定管理员邮件地址,可以随意设置;第三行将客户端映射到 delegate 的 /client/ 路径下;第四行将远程服务器目录映射到 delegate 的 /cgi-bin/ 路径下。

        另外,如果你需要通过代理服务器访问远程服务器,可以这样设置:

    MOUNT="/cgi-bin/* http://server-address/cgi-bin/*" PROXY="代理服务器地址:端口"

        在命令行输入以下命令安装delegate。注意不同版本的delegate的可执行文件名不同。
     

    dg9.4.1.exe +=delegate.cfg

        打开浏览器,访问 http://localhost/client/。这样即可随时看到对js代码的修改。

        实际上,用好这个方法还可以“盗用”许多网站的服务,即自己开发客户端,再通过 delegate 将请求转发给服务器。其方法不再详述。

  • 相关阅读:
    html5的跨域处理
    file表单提交异步模拟
    Bigpipe :bigpipe的了解之2
    javascript获取指定父元素
    javascript淡入淡出的效果轮换转播
    IE下,动态创建的iframe在异步提交时会跳转的问题的解决
    javascriptIE不支持table的innerHTML解决方案
    javascript删除元素所引起的 对于NodeList的理解
    javascript淡入淡出的效果轮换转播后续
    数据加载的bigpipe
  • 原文地址:https://www.cnblogs.com/quanhai/p/1590210.html
Copyright © 2011-2022 走看看