易截截图软件、单文件、免安装、纯绿色、仅160KB

使用JavaScript和Ajax发出异步请求详解

打开请求
  有了要连接的 URL 后就可以配置请求了。可以用 XMLHttpRequest 对象的 open() 方法来完成。该方法有五个参数:
request-type:发送请求的类型。典型的值是 GET 或 POST,但也可以发送 HEAD 请求。
url:要连接的 URL。
asynch:如果希望使用异步连接则为 true,否则为 false。该参数是可选的,默认为 true。
username:如果需要身份验证,则可以在此指定用户名。该可选参数没有默认值。
password:如果需要身份验证,则可以在此指定口令。该可选参数没有默认值。
  通常使用其中的前三个参数。事实上,即使需要异步连接,也应该指定第三个参数为 “true”。这是默认值,但坚持明确指定请求是异步的还是同步的更容易理解。
  将这些结合起来,通常会得到 清单 9 所示的一行代码。
  清单 9. 打开请求
   function getCustomerInfo() {
     var phone = document.getElementById("phone").value;
     var url = "/cgi-local/lookupCustomer.php?phone=" + escape(phone);
     request.open("GET", url, true);
   }
  一旦设置好了 URL,其他就简单了。多数请求使用 GET 就够了(后面的文章中将看到需要使用 POST 的情况),再加上 URL,这就是使用 open() 方法需要的全部内容了。
  挑战异步性
  本系列的后面一篇文章中,我将用很多时间编写和使用异步代码,但是您应该明白为什么 open() 的最后一个参数这么重要。在一般的请求/响应模型中,比如 Web 1.0,客户机(浏览器或者本地机器上运行的代码)向服务器发出请求。该请求是同步的,换句话说,客户机等待服务器的响应。当客户机等待的时候,至少会用某种形式通知您在等待:
沙漏(特别是 Windows 上)。
旋转的皮球(通常在 Mac 机器上)。
应用程序基本上冻结了,然后过一段时间光标变化了。
  这正是 Web 应用程序让人感到笨拙或缓慢的原因 —— 缺乏真正的交互性。按下按钮时,应用程序实际上变得不能使用,直到刚刚触发的请求得到响应。如果请求需要大量服务器处理,那么等待的时间可能很长(至少在这个多处理器、DSL 没有等待的世界中是如此)。
  而异步请求不 等待服务器响应。发送请求后应用程序继续运行。用户仍然可以在 Web 表单中输入数据,甚至离开表单。没有旋转的皮球或者沙漏,应用程序也没有明显的冻结。服务器悄悄地响应请求,完成后


相关文档:

javascript 函数 和 CustomValidator控件相结合使用

<asp:TextBox ID="txtPwdPrompt" runat="server"></asp:TextBox>
<asp:CustomValidator id="CVPwdPrompt" runat="server" ClientValidationFunction="CheckPwd" ControlToValidate="txtPwdPrompt" ErrorMessage="<span style='font:12px'>提示问题必须在2-50个字符内</span>" Display="None"&g ......

Rails ajax 的联动的下拉框


# app\controllers\examples_controller.rb
ruby 代码
 
class ExamplesController < ApplicationController  
  
  def ajax_select  
    @items = %w{AA BB}  
  end   ......

Ajax历险记 1

今天抄了段书上小代码,代码如下
<html>
<head>
<script type="text/javascript" src="zxml.src.js"></script>
<script type="text/javascript">
function start() {
var oXmlHttp = zXmlHttp.createRequest();
oXmlHttp.open("get", "info11.txt", true);
oXmlHttp.onreadystatecha ......

javascript正则表达式的基本知识


1 javascript 正则
对象创建 和用法
声明javascript 正则
表达式
复制代码
代码如下:

var reCat = new RegExp("cat");
你也可以
var reCat = /cat/; //Perl 风格 (推荐)

2 学习最常用的 test exec match search replace split 6个方法
1) test 检查指定的字符串是否存在
复制代码
......

javascript 正则


1 javascript 正则
对象创建 和用法
声明javascript 正则
表达式
复制代码
代码如下:

var reCat = new RegExp("cat");
你也可以
var reCat = /cat/; //Perl 风格 (推荐)

2 学习最常用的 test exec match search replace split 6个方法
1) test 检查指定的字符串是否存在
复制代码
......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号