Ajax异步传输与PHP实现交互示例

背景

前台页面两个select框,一个与学院关联,另一个与专业关联,现需要选择学院select框后,显示学院相关信息,且专业select下面仅有属于该学院的专业名称。也就是实现一个二级联动效果。

两个select里面分别定义onchange事件,事件中利用ajax的GET方法向后台PHP递交信息,再将查询得到的信息echo出来或document.write。

注:代码参考了有位叫y0umer的博主写的。

复制代码 代码如下:

<script type="text/javascript">

var XmlHttp;

function createXmlHttpRequestObject(){

if(window.ActiveXobject){ // 判断是否是ie浏览器

try { // try开始

xmlhttp = new ActiveXobject("Microsoft.XMLHTTP"); // 使用ActiveX对象创建ajax

}catch(e){

xmlHttp = false;

} // try end

}else{ //Chrome、FireFox等非ie内核

try{

xmlHttp = new XMLHttpRequest(); //视为非ie情况下

}catch(e){

xmlHttp = false; // 其他非主流浏览器

}

} // 判断结束,如果创建成功则返回一个DOM对象,如果创建不成功则返回一个false

if(xmlHttp)

{

return xmlHttp;

}else{

alert("对象创建失败,请检查浏览器是否支持XmlHttpRequest!");

}

} // 函数体

//学院下拉框事件

function showCollegeInfo(){

var selectIndex = document.getElementById("college").selectedIndex;//获得是第几个被选中了

var value = document.getElementById("college").options[selectIndex].value;

if(value)

{

// 先创建一个对象实例

createXmlHttpRequestObject();

// 使用事件对象获取文本框ID的值

var vCollege = value;

var url = "college.php?xy="+vCollege; //待发送URL

url=encodeURI(url);

xmlHttp.onreadystatechange=ajaxok; // 判断浏览器状态栏 (接收玩数据触发的事件)

xmlHttp.open("GET",url,false); // GET向服务器端发送数据

xmlHttp.send(null);

document.getElementById("collegeinfo").style.display="block";//显示学院信息的div

}else{

document.getElementById("collegeinfo").style.display="none";//隐藏学院信息的div

}

}

function ajaxok()

{

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

{

document.getElementById("collegeinfo").innerHTML = xmlHttp.responseText;

}

}

//专业下拉框事件

function showMajorInfo(){

var selectIndex = document.getElementById("major").selectedIndex;//获得是第几个被选中了

var value = document.getElementById("major").options[selectIndex].value;

if(value)

{

// 先创建一个对象实例

createXmlHttpRequestObject();

// 使用事件对象获取文本框ID的值

var vMajor = value;

var url = "major.php?zy="+vMajor; //待发送URL

url=encodeURI(url);

xmlHttp.onreadystatechange=ajaxok2; // 判断浏览器状态栏 (接收玩数据触发的事件)

xmlHttp.open("GET",url,false); // GET向服务器端发送数据

xmlHttp.send(null);

document.getElementById("majorinfo").style.display="block";//显示专业信息的div

}else{

document.getElementById("majorinfo").style.display="none";//隐藏专业信息的div

}

}

function ajaxok2()

{

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

{

document.getElementById("majorinfo").innerHTML = xmlHttp.responseText;

}

}

</script>

时间: 2024-11-08 21:26:12

Ajax异步传输与PHP实现交互示例的相关文章

Ajax基础教程(2)-使用XMLHttpRequest对象 2.3 交互示例

看到这里,你可能想知道典型的Ajax交互是什么样.图2-1显示了Ajax应用中标准的交互模式. 图2-1 标准Ajax交互 不同于标准Web客户中所用的标准请求/响应方法,Ajax应用的做法稍有差别. 1. 一个客户端事件触发一个Ajax事件.从简单的onchange事件到某个特定的用户动作,很多这样的事件都可以触发Ajax事件.可以有如下的代码: <input type="text"d="email" name="email" onblu

C#与Excel的交互示例

excel|交互|示例 //这里加添加一个excel对象的包装器.就是添加一个引用 using System;using System.Drawing;using System.Collections;using System.ComponentModel;using System.Windows.Forms; namespace ExcelTest{ /// <summary> /// Form3 的摘要说明. /// </summary> public class Form3

Ajax——异步检查用户名是否存在示例

在任何网站注册用户的时候,都会检查用户是否已经存在.很久以前的处理方式是将所有数据提交到服务器端进行验证,很显然这种方式的用户体验很不好:后来有 了Ajax,有了异步交互,当用户输完用户名继续填写其他信息的时候,Ajax就将信息发到了服务器去检查该用户名是否已经被注册了,这样如果用户名已经 存在,不用等用户将所有数据都提交就可以给出提示.采用这种方式大大改善了用户体验. regist.jsp 复制代码 代码如下: <%@ page language="java" contentT

jQuery+ajax实现无刷新级联菜单示例

  这篇文章主要介绍了jQuery+ajax实现无刷新级联菜单示例,代码很完整,也非常实用,有需要的小伙伴可以参考下. 前台用AJAX直接调用后台方法,老有人发帖提问,没事做个示例 下面是做的一个前台用JQUERY,AJAX调用后台方法做的无刷新级联菜单 CasMenu.aspx页面: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38

Ajax——异步检查用户名是否存在示例_AJAX相关

在任何网站注册用户的时候,都会检查用户是否已经存在.很久以前的处理方式是将所有数据提交到服务器端进行验证,很显然这种方式的用户体验很不好:后来有了Ajax,有了异步交互,当用户输完用户名继续填写其他信息的时候,Ajax就将信息发到了服务器去检查该用户名是否已经被注册了,这样如果用户名已经存在,不用等用户将所有数据都提交就可以给出提示.采用这种方式大大改善了用户体验. regist.jsp 复制代码 代码如下: <%@ page language="java" contentTyp

前端ajax的各种与后端交互的姿势

前端中常常用的与后端交换数据的话,通常是要用到ajax这种方法的 但是交互的方式有很多种,很多取决于你后端的属性,我这儿主要列举我目前项目比较常用的两种方式 --一个是我们通用的web api和控制器, 首先我们来仔细看看ajax来与webapi做的交互数据 这里先简单描述一下web api的四种属性--GET,POST,PUT,DELETE 这里面我永昌使用的是GET和POST 如果这时候我们需要用到AJAX与那些数据做后端交互的话 $.ajax({ url: "你的webapi",

ajax无刷新验证注册信息示例

ajax无刷新验证注册信息示例,其大概思路如下: 一.把注册的html页面做好(html+css) 1.不需要form表单,直接用div包着 2.需要四个标签来显示正确.错误的信息显示 3.不用submit提交按钮,直接用button 如图: 二.把ajax做成一个函数,通过传简单的参数可以与服务器进行数据交换. 1.这个ajax函数前面有一篇如何处理利用ajax处理返回数据的文章中详细说明了. 2.ajax函数需要三个参数,url,jsonData,getMsg.这里的url都是regProc

ExtJs学习笔记(20)-利用ExtJs的Ajax与服务端WCF交互

ExtJs是一套非常不错的javascript UI库(第一次接触ExtJs的,可到官方网站http://www.extjs.com/deploy/dev/examples/samples.html看下示例.相信不少人会心动的),不仅组件丰富,效果漂亮,而且ExtJs集成的Ajax功能可以方便的与.Net的WCF进行交互. 这里我们将演示ExtJs的FormPanel从WCF加载数据,以及如何提交数据到WCF服务端 1.首先来定义一个用于传输信息的Class(实际开发中,可以是Linq to S

AJAX在PHP中的应用示例

AJAX无疑是2005年炒的最热的Web开发技术之一,当然,这个功劳离不开Google.我只是一个普通开发者,使用AJAX的地方不是特别多,我就简单的把我使用的心得说一下.(本文假设用户已经具有JavaScript.HTML.CSS等基本的Web开发能力) [AJAX介绍] Ajax是使用客户端脚本与Web服务器交换数据的Web应用开发方法.Web页面不用打断交互流程进行重新加裁,就可以动态地更新.使用Ajax,用户可以创建接近本地桌面应用的直接.高可用.更丰富.更动态的Web用户界面. 异步J