手机
当前位置:查字典教程网 >编程开发 >AJAX相关 >Ajax异步传输与PHP实现交互示例
Ajax异步传输与PHP实现交互示例
摘要:背景前台页面两个select框,一个与学院关联,另一个与专业关联,现需要选择学院select框后,显示学院相关信息,且专业select下面仅...

背景

前台页面两个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>

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

ASP+Ajax实现无刷新评论简单例子

Ajax跨域查询完美解决通过$.getJSON()实现

Ajax叠加(Ajax返回数据用Ajax发出)示例代码

纯javascript的ajax实现php异步提交表单的简单实例

ajax传递多个参数具体实现

ajax实现标签导航

Ajax实现评论提交

一个伪ajax图片上传代码实现示例

AJAX 异步传输数据的问题

利用XMLHTTP实现的二级连动Select

精品推荐
分类导航