Ajax異步傳輸與PHP實(shí)現(xiàn)交互示例
前臺(tái)頁(yè)面兩個(gè)select框,一個(gè)與學(xué)院關(guān)聯(lián),另一個(gè)與專(zhuān)業(yè)關(guān)聯(lián),現(xiàn)需要選擇學(xué)院select框后,顯示學(xué)院相關(guān)信息,且專(zhuān)業(yè)select下面僅有屬于該學(xué)院的專(zhuān)業(yè)名稱(chēng)。也就是實(shí)現(xiàn)一個(gè)二級(jí)聯(lián)動(dòng)效果。
兩個(gè)select里面分別定義onchange事件,事件中利用ajax的GET方法向后臺(tái)PHP遞交信息,再將查詢(xún)得到的信息echo出來(lái)或document.write。
注:代碼參考了有位叫y0umer的博主寫(xiě)的。
<script type="text/javascript">
var XmlHttp;
function createXmlHttpRequestObject(){
if(window.ActiveXobject){ // 判斷是否是ie瀏覽器
try { // try開(kāi)始
xmlhttp = new ActiveXobject("Microsoft.XMLHTTP"); // 使用ActiveX對(duì)象創(chuàng)建ajax
}catch(e){
xmlHttp = false;
} // try end
}else{ //Chrome、FireFox等非ie內(nèi)核
try{
xmlHttp = new XMLHttpRequest(); //視為非ie情況下
}catch(e){
xmlHttp = false; // 其他非主流瀏覽器
}
} // 判斷結(jié)束,如果創(chuàng)建成功則返回一個(gè)DOM對(duì)象,如果創(chuàng)建不成功則返回一個(gè)false
if(xmlHttp)
{
return xmlHttp;
}else{
alert("對(duì)象創(chuàng)建失敗,請(qǐng)檢查瀏覽器是否支持XmlHttpRequest!");
}
} // 函數(shù)體
//學(xué)院下拉框事件
function showCollegeInfo(){
var selectIndex = document.getElementById("college").selectedIndex;//獲得是第幾個(gè)被選中了
var value = document.getElementById("college").options[selectIndex].value;
if(value)
{
// 先創(chuàng)建一個(gè)對(duì)象實(shí)例
createXmlHttpRequestObject();
// 使用事件對(duì)象獲取文本框ID的值
var vCollege = value;
var url = "college.php?xy="+vCollege; //待發(fā)送URL
url=encodeURI(url);
xmlHttp.onreadystatechange=ajaxok; // 判斷瀏覽器狀態(tài)欄 (接收玩數(shù)據(jù)觸發(fā)的事件)
xmlHttp.open("GET",url,false); // GET向服務(wù)器端發(fā)送數(shù)據(jù)
xmlHttp.send(null);
document.getElementById("collegeinfo").style.display="block";//顯示學(xué)院信息的div
}else{
document.getElementById("collegeinfo").style.display="none";//隱藏學(xué)院信息的div
}
}
function ajaxok()
{
if(xmlHttp.readyState == 4 && xmlHttp.status==200)
{
document.getElementById("collegeinfo").innerHTML = xmlHttp.responseText;
}
}
//專(zhuān)業(yè)下拉框事件
function showMajorInfo(){
var selectIndex = document.getElementById("major").selectedIndex;//獲得是第幾個(gè)被選中了
var value = document.getElementById("major").options[selectIndex].value;
if(value)
{
// 先創(chuàng)建一個(gè)對(duì)象實(shí)例
createXmlHttpRequestObject();
// 使用事件對(duì)象獲取文本框ID的值
var vMajor = value;
var url = "major.php?zy="+vMajor; //待發(fā)送URL
url=encodeURI(url);
xmlHttp.onreadystatechange=ajaxok2; // 判斷瀏覽器狀態(tài)欄 (接收玩數(shù)據(jù)觸發(fā)的事件)
xmlHttp.open("GET",url,false); // GET向服務(wù)器端發(fā)送數(shù)據(jù)
xmlHttp.send(null);
document.getElementById("majorinfo").style.display="block";//顯示專(zhuān)業(yè)信息的div
}else{
document.getElementById("majorinfo").style.display="none";//隱藏專(zhuān)業(yè)信息的div
}
}
function ajaxok2()
{
if(xmlHttp.readyState == 4 && xmlHttp.status==200)
{
document.getElementById("majorinfo").innerHTML = xmlHttp.responseText;
}
}
</script>
- Ajax+php數(shù)據(jù)交互并且局部刷新頁(yè)面的實(shí)現(xiàn)詳解
- php 接口與前端數(shù)據(jù)交互實(shí)現(xiàn)示例代碼
- 利用php做服務(wù)器和web前端的界面進(jìn)行交互
- Android App端與PHP Web端的簡(jiǎn)單數(shù)據(jù)交互實(shí)現(xiàn)示例
- 微信小程序?qū)W習(xí)筆記之表單提交與PHP后臺(tái)數(shù)據(jù)交互處理圖文詳解
- php變量與JS變量實(shí)現(xiàn)不通過(guò)跳轉(zhuǎn)直接交互的方法
- Ajax+PHP簡(jiǎn)單數(shù)據(jù)交互
- PHP與MySQL交互使用詳解
- PHP與服務(wù)器文件系統(tǒng)的簡(jiǎn)單交互
- PHP與Web頁(yè)面交互操作實(shí)例分析
相關(guān)文章
ajax請(qǐng)求之返回?cái)?shù)據(jù)的順序問(wèn)題分析
這篇文章主要介紹了ajax請(qǐng)求之返回?cái)?shù)據(jù)的順序問(wèn)題,結(jié)合實(shí)例形式分析了ajax請(qǐng)求返回值的排序問(wèn)題,需要的朋友可以參考下2015-12-12
菜鳥(niǎo)蔡之Ajax復(fù)習(xí)第一篇(后臺(tái)asp.net)(傳統(tǒng)的JavaScript方法實(shí)現(xiàn)Ajax功能)
Ajax是Asynchronous JavaScript and XML,其核心是通過(guò)XMLHttpRequest對(duì)象以一種異步的方式向服務(wù)器發(fā)送請(qǐng)求,并通過(guò)該對(duì)象接收請(qǐng)求返回的數(shù)據(jù),從而完成人機(jī)交互的數(shù)據(jù)操作(呵呵、、、說(shuō)的有點(diǎn)嚇人!)2012-11-11
ajax加載頁(yè)面服務(wù)器返回 304 not modified
服務(wù)器都返回 304 not modified 說(shuō)明在服務(wù)器上,你這個(gè)xml文件沒(méi)有修改過(guò),或者要加載的頁(yè)面在本地沒(méi)有被修改,本地緩存造成了這個(gè)問(wèn)題2014-04-04
淺析Ajax后臺(tái)success傳來(lái)json數(shù)據(jù)的問(wèn)題
最近在使用JQuery的ajax方法時(shí),需要返回的數(shù)據(jù)為json數(shù)據(jù),在success返回中數(shù)據(jù)處理會(huì)根據(jù)返回方式不同會(huì)采用不同的方式來(lái)生成json數(shù)據(jù)。下面小編給大家介紹下在$.ajax方法中應(yīng)該是如何來(lái)處理的2016-10-10
Echarts教程之通過(guò)Ajax實(shí)現(xiàn)動(dòng)態(tài)加載折線(xiàn)圖的方法
這篇文章主要介紹了Echarts教程之通過(guò)Ajax實(shí)現(xiàn)動(dòng)態(tài)加載折線(xiàn)圖的方法,需要的朋友可以參考下2018-04-04
ajax 開(kāi)發(fā)守則 10條說(shuō)明
介紹ajax開(kāi)發(fā)十大守則,相信對(duì)開(kāi)發(fā)人員會(huì)有用的。2009-07-07
ajax Suggest類(lèi)似google的搜索提示效果
實(shí)現(xiàn)了類(lèi)似google的搜索提示效果。2009-03-03
也寫(xiě)一個(gè)Ajax.Request類(lèi)附代碼
也寫(xiě)一個(gè)Ajax.Request類(lèi)附代碼...2007-08-08
原生ajax調(diào)用數(shù)據(jù)實(shí)例講解
這篇文章主要向大家介紹了原生ajax調(diào)用數(shù)據(jù)實(shí)例,具有一定的參考價(jià)值,感興趣的朋友可以參考一下2016-01-01

