`
廖世勇
  • 浏览: 100979 次
  • 性别: Icon_minigender_1
  • 来自: 湖南郴州
社区版块
存档分类
最新评论

AJAX ASP/PHP 请求实例

阅读更多

 

<!--[if !supportLists]-->·                           <!--[endif]-->Previous Page

<!--[if !supportLists]-->·                           <!--[endif]-->Next Page

AJAX 用于创造动态性更强的应用程序。

AJAX ASP/PHP 实例

下面的例子将为您演示当用户在输入框中键入字符时,网页如何与 web 服务器进行通信:

请在下面的输入框中键入字母(A - Z):

窗体顶端

姓氏:<!--[if gte vml 1]><v:shapetype id="_x0000_t75" coordsize="21600,21600" o:spt="75" o:preferrelative="t" path="m@4@5l@4@11@9@11@9@5xe" filled="f" stroked="f"> <v:stroke joinstyle="miter"/> <v:formulas> <v:f eqn="if lineDrawn pixelLineWidth 0"/> <v:f eqn="sum @0 1 0"/> <v:f eqn="sum 0 0 @1"/> <v:f eqn="prod @2 1 2"/> <v:f eqn="prod @3 21600 pixelWidth"/> <v:f eqn="prod @3 21600 pixelHeight"/> <v:f eqn="sum @0 0 1"/> <v:f eqn="prod @6 1 2"/> <v:f eqn="prod @7 21600 pixelWidth"/> <v:f eqn="sum @8 21600 0"/> <v:f eqn="prod @7 21600 pixelHeight"/> <v:f eqn="sum @10 21600 0"/> </v:formulas> <v:path o:extrusionok="f" gradientshapeok="t" o:connecttype="rect"/> <o:lock v:ext="edit" aspectratio="t"/> </v:shapetype><v:shape id="_x0000_i1025" type="#_x0000_t75" style='width:84pt; height:18pt'> <v:imagedata src="file:///C:\Users\xzz\AppData\Local\Temp\msohtml1\01\clip_image001.wmz" o:title=""/> </v:shape><![endif]--><!--[if !vml]--><!--[endif]-->

窗体底端

建议:

亲自试一下源代码

实例解释 - showHint() 函数

当用户在上面的输入框中键入字符时,会执行函数 "showHint()" 。该函数由 "onkeyup" 事件触发:

function showHint(str)

{

var xmlhttp;

if (str.length==0)

  {

  document.getElementById("txtHint").innerHTML="";

  return;

  }

if (window.XMLHttpRequest)

  {// code for IE7+, Firefox, Chrome, Opera, Safari

  xmlhttp=new XMLHttpRequest();

  }

else

  {// code for IE6, IE5

  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

  }

xmlhttp.onreadystatechange=function()

  {

  if (xmlhttp.readyState==4 && xmlhttp.status==200)

    {

    document.getElementById("txtHint").innerHTML=xmlhttp.responseText;

    }

  }

xmlhttp.open("GET","gethint.asp?q="+str,true);

xmlhttp.send();

}

源代码解释:

如果输入框为空 (str.length==0),则该函数清空 txtHint 占位符的内容,并退出函数。

如果输入框不为空,showHint() 函数执行以下任务:

<!--[if !supportLists]-->·   <!--[endif]-->创建 XMLHttpRequest 对象

<!--[if !supportLists]-->·   <!--[endif]-->当服务器响应就绪时执行函数

<!--[if !supportLists]-->·   <!--[endif]-->把请求发送到服务器上的文件

<!--[if !supportLists]-->·   <!--[endif]-->请注意我们向 URL 添加了一个参数 q (带有输入框的内容)

AJAX 服务器页面 - ASP PHP

由上面的 JavaScript 调用的服务器页面是 ASP 文件,名为 "gethint.asp"

下面,我们创建了两个版本的服务器文件,一个用 ASP 编写,另一个用 PHP 编写。

ASP 文件

"gethint.asp" 中的源代码会检查一个名字数组,然后向浏览器返回相应的名字:

<%

response.expires=-1

dim a(30)

'用名字来填充数组

a(1)="Anna"

a(2)="Brittany"

a(3)="Cinderella"

a(4)="Diana"

a(5)="Eva"

a(6)="Fiona"

a(7)="Gunda"

a(8)="Hege"

a(9)="Inga"

a(10)="Johanna"

a(11)="Kitty"

a(12)="Linda"

a(13)="Nina"

a(14)="Ophelia"

a(15)="Petunia"

a(16)="Amanda"

a(17)="Raquel"

a(18)="Cindy"

a(19)="Doris"

a(20)="Eve"

a(21)="Evita"

a(22)="Sunniva"

a(23)="Tove"

a(24)="Unni"

a(25)="Violet"

a(26)="Liza"

a(27)="Elizabeth"

a(28)="Ellen"

a(29)="Wenche"

a(30)="Vicky"

 

'获得来自 URL q 参数

q=ucase(request.querystring("q"))

 

'如果 q 大于 0,则查找数组中的所有提示

if len(q)>0 then

  hint=""

  for i=1 to 30

    if q=ucase(mid(a(i),1,len(q))) then

      if hint="" then

        hint=a(i)

      else

        hint=hint & " , " & a(i)

      end if

    end if

  next

end if

 

'如果未找到提示,则输出 "no suggestion"

'否则输出正确的值

if hint="" then

  response.write("no suggestion")

else

  response.write(hint)

end if

%>

PHP 文件

下面的代码用 PHP 编写,与上面的 ASP 代码作用是一样的。

注释:如需在 PHP 中运行这个例子,请将 url 变量的值(Javascript 代码中)由 "gethint.asp" 改为 "gethint.php"

<?php

// 用名字来填充数组

$a[]="Anna";

$a[]="Brittany";

$a[]="Cinderella";

$a[]="Diana";

$a[]="Eva";

$a[]="Fiona";

$a[]="Gunda";

$a[]="Hege";

$a[]="Inga";

$a[]="Johanna";

$a[]="Kitty";

$a[]="Linda";

$a[]="Nina";

$a[]="Ophelia";

$a[]="Petunia";

$a[]="Amanda";

$a[]="Raquel";

$a[]="Cindy";

$a[]="Doris";

$a[]="Eve";

$a[]="Evita";

$a[]="Sunniva";

$a[]="Tove";

$a[]="Unni";

$a[]="Violet";

$a[]="Liza";

$a[]="Elizabeth";

$a[]="Ellen";

$a[]="Wenche";

$a[]="Vicky";

 

//获得来自 URL q 参数

$q=$_GET["q"];

 

//如果 q 大于 0,则查找数组中的所有提示

if (strlen($q) > 0)

  {

  $hint="";

  for($i=0; $i<count($a); $i++)

    {

    if (strtolower($q)==strtolower(substr($a[$i],0,strlen($q))))

      {

      if ($hint=="")

        {

        $hint=$a[$i];

        }

      else

        {

        $hint=$hint." , ".$a[$i];

        }

      }

    }

  }

 

// 如果未找到提示,则把输出设置为 "no suggestion"

// 否则设置为正确的值

if ($hint == "")

  {

  $response="no suggestion";

  }

else

  {

  $response=$hint;

  }

 

//输出响应

echo $response;

?>

来自:http://www.w3school.com.cn

 

 

分享到:
评论

相关推荐

    ASP网站整站程序源码——PHP+AJAX的whois查询程序实例开发.rar

    ASP网站整站程序源码与PHP+AJAX的whois查询程序实例开发是一个结合了两种技术的实用项目,主要用于域名信息的在线查询。这个压缩包包含了一个完整的网站系统,使用了经典的ASP(Active Server Pages)技术和PHP语言...

    ASP网站整站程序源码——PHP+AJAX的whois查询程序实例开发.zip

    【ASP网站整站程序源码——PHP+AJAX的whois查询程序实例开发】是一个针对互联网域名信息查询的Web应用程序示例。这个程序利用了PHP作为服务器端的主要编程语言,结合AJAX(异步JavaScript和XML)技术,为用户提供了...

    PHP 请求实例.docx

    在本文档中,我们将深入探讨PHP请求实例,特别是与AJAX(异步JavaScript和XML)的结合使用。AJAX是一种Web开发技术,它允许在不重新加载整个网页的情况下更新部分页面内容,从而实现更流畅、更具交互性的用户体验。 ...

    ASP网站整站程序源码——php ajax 域名查询实例开发.rar

    在本案例中,“ASP网站整站程序源码——php ajax 域名查询实例开发.rar”是一个包含完整网站源代码的压缩包,主要用于教授如何使用ASP技术结合PHP和AJAX实现一个实时的域名查询功能。 首先,我们需要理解ASP的基础...

    ASP网站整站程序源码——php ajax 域名查询实例开发.zip

    在这个实例中,ASP可能负责接收用户通过AJAX发送的域名查询请求,然后与DNS服务器或域名注册商接口通信,获取关于该域名的状态信息。 PHP,虽然在标题中与ASP一起出现,通常是在服务器端处理任务,例如数据库操作。...

    +Ajax异步无刷新登录实例

    **Ajax异步无刷新登录实例详解** Ajax,全称Asynchronous JavaScript and XML(异步JavaScript与XML),是一种创建动态网页的技术。它允许在不重新加载整个网页的情况下,与服务器交换数据并更新部分网页内容。在...

    php+ajax上传图片实例

    本实例将深入探讨如何结合PHP与AJAX实现图片的无刷新上传,这对于提升用户体验至关重要,尤其对于那些需要频繁交互和更新内容的网站。 首先,让我们了解这两种技术的基本概念。PHP(Hypertext Preprocessor)是一种...

    Ajax经典实例大全

    **Ajax经典实例大全** Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使得网页实现异步更新,提高了用户体验。Ajax...

    AJAX实例的表单验证

    总的来说,这个AJAX实例展示了如何在客户端使用JavaScript处理表单提交,通过异步请求避免页面刷新,同时在服务器端进行必要的数据验证。这种方式提高了用户交互的流畅性,减少了不必要的页面跳转,对于初学者来说是...

    jqueryAjax_无刷新调用另一页实例

    "jqueryAjax_无刷新调用另一页实例"这个标题意味着我们将探讨如何利用jQuery的AJAX功能实现页面的动态加载。 首先,jQuery是一个轻量级的JavaScript库,它简化了HTML文档遍历、事件处理、动画设计以及AJAX交互。...

    ajax 无刷新上传(带实例)

    3. **发送Ajax请求**:利用XMLHttpRequest对象的open()方法设置请求类型(POST)、URL以及是否异步执行,然后调用send()方法,传入FormData对象作为请求数据。 4. **服务器端处理**:服务器端接收到请求后,读取...

    jQuery Ajax 实例 全解析

    $(".ajax.load").load("http://www.php100.com/index.html .post", function(responseText, textStatus, XMLHttpRequest) { // 在这里处理响应 }); ``` 2. `$.get()` 方法: `$.get()` 使用GET方法进行异步请求。...

    ajax+WebService应用实例

    为了实现这个实例,开发者可能使用了如jQuery、axios等JavaScript库,它们简化了Ajax请求的编写过程。同时,对于WebService,可能会使用.NET、Java、Python等语言的框架,如ASP.NET的ASMX或WCF服务,或者是PHP的SOAP...

    WEB开发 之 AJAX 数据库实例.docx

    `getcustomer.asp`文件接收AJAX请求并执行数据库查询。在ASP代码中: ```asp sql = "SELECT * FROM CUSTOMERS WHERE CUSTOMERID = '" & request.querystring("q") & "'" '... 连接数据库、打开记录集等操作 ... %&gt;...

    ASP+Ajax.rar_ajax_不刷新

    本实例主要探讨ASP作为后台处理语言与AJAX进行交互,实现数据的异步请求和获取,而无需整个页面刷新。 首先,ASP(Active Server Pages)是由微软开发的一种服务器端脚本环境,它允许开发者在HTML页面中嵌入脚本...

    Ajax应用实例...

    - 这个请求被发送到服务器,通常是一个处理程序,如ASP.NET的ASHX或ASMX文件,或者PHP、Java等后端语言的脚本。 - 服务器接收到请求,执行相应的SQL查询或其他处理,例如从SQLServer数据库检索数据。 - 服务器...

    通过Ajax无刷新读写操作

    "通过Ajax无刷新读写操作"这个主题,就是关于如何使用Jquery的Ajax功能来实现这一目标的实例教程。Ajax,即Asynchronous JavaScript and XML,允许我们异步地向服务器发送请求,更新网页部分内容,而无需刷新整个...

    Ajax三级无刷新级联实例使用CallBackObject.js 简易Ajax框架

    数据库会存储各级选项的关系,当接收到Ajax请求时,服务器端的脚本(可能是ASP.NET、PHP或JSP等)会根据用户的选择查询数据库,获取并返回下级选项的数据,这些数据再由`CallBackObject.js`框架解析并更新到前端的...

    ASP论坛网站实例开发源码——PHP168知道系统 公测版实例开发.rar

    【ASP论坛网站实例开发源码——PHP168知道系统 公测版实例开发.rar】是一个包含ASP技术的论坛网站开发实例源代码,主要用于帮助开发者理解和学习如何构建类似百度知道的问答平台。在这个公测版中,我们可以深入研究...

Global site tag (gtag.js) - Google Analytics