Ajax異步傳輸與PHP實現(xiàn)交互示例
更新時間:2014年01月27日 15:52:47 作者:
Ajax異步傳輸想必大家并不陌生吧,下面為大家介紹下與PHP實現(xiàn)交互的示例,大家不要錯過
背景
前臺頁面兩個select框,一個與學院關(guān)聯(lián),另一個與專業(yè)關(guān)聯(lián),現(xiàn)需要選擇學院select框后,顯示學院相關(guān)信息,且專業(yè)select下面僅有屬于該學院的專業(yè)名稱。也就是實現(xiàn)一個二級聯(lián)動效果。
兩個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對象創(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)建成功則返回一個DOM對象,如果創(chuàng)建不成功則返回一個false
if(xmlHttp)
{
return xmlHttp;
}else{
alert("對象創(chuàng)建失敗,請檢查瀏覽器是否支持XmlHttpRequest!");
}
} // 函數(shù)體
//學院下拉框事件
function showCollegeInfo(){
var selectIndex = document.getElementById("college").selectedIndex;//獲得是第幾個被選中了
var value = document.getElementById("college").options[selectIndex].value;
if(value)
{
// 先創(chuàng)建一個對象實例
createXmlHttpRequestObject();
// 使用事件對象獲取文本框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向服務器端發(fā)送數(shù)據(jù)
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;
}
}
//專業(yè)下拉框事件
function showMajorInfo(){
var selectIndex = document.getElementById("major").selectedIndex;//獲得是第幾個被選中了
var value = document.getElementById("major").options[selectIndex].value;
if(value)
{
// 先創(chuàng)建一個對象實例
createXmlHttpRequestObject();
// 使用事件對象獲取文本框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向服務器端發(fā)送數(shù)據(jù)
xmlHttp.send(null);
document.getElementById("majorinfo").style.display="block";//顯示專業(yè)信息的div
}else{
document.getElementById("majorinfo").style.display="none";//隱藏專業(yè)信息的div
}
}
function ajaxok2()
{
if(xmlHttp.readyState == 4 && xmlHttp.status==200)
{
document.getElementById("majorinfo").innerHTML = xmlHttp.responseText;
}
}
</script>
前臺頁面兩個select框,一個與學院關(guān)聯(lián),另一個與專業(yè)關(guān)聯(lián),現(xiàn)需要選擇學院select框后,顯示學院相關(guān)信息,且專業(yè)select下面僅有屬于該學院的專業(yè)名稱。也就是實現(xiàn)一個二級聯(lián)動效果。
兩個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對象創(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)建成功則返回一個DOM對象,如果創(chuàng)建不成功則返回一個false
if(xmlHttp)
{
return xmlHttp;
}else{
alert("對象創(chuàng)建失敗,請檢查瀏覽器是否支持XmlHttpRequest!");
}
} // 函數(shù)體
//學院下拉框事件
function showCollegeInfo(){
var selectIndex = document.getElementById("college").selectedIndex;//獲得是第幾個被選中了
var value = document.getElementById("college").options[selectIndex].value;
if(value)
{
// 先創(chuàng)建一個對象實例
createXmlHttpRequestObject();
// 使用事件對象獲取文本框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向服務器端發(fā)送數(shù)據(jù)
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;
}
}
//專業(yè)下拉框事件
function showMajorInfo(){
var selectIndex = document.getElementById("major").selectedIndex;//獲得是第幾個被選中了
var value = document.getElementById("major").options[selectIndex].value;
if(value)
{
// 先創(chuàng)建一個對象實例
createXmlHttpRequestObject();
// 使用事件對象獲取文本框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向服務器端發(fā)送數(shù)據(jù)
xmlHttp.send(null);
document.getElementById("majorinfo").style.display="block";//顯示專業(yè)信息的div
}else{
document.getElementById("majorinfo").style.display="none";//隱藏專業(yè)信息的div
}
}
function ajaxok2()
{
if(xmlHttp.readyState == 4 && xmlHttp.status==200)
{
document.getElementById("majorinfo").innerHTML = xmlHttp.responseText;
}
}
</script>
您可能感興趣的文章:
- Ajax+php數(shù)據(jù)交互并且局部刷新頁面的實現(xiàn)詳解
- php 接口與前端數(shù)據(jù)交互實現(xiàn)示例代碼
- 利用php做服務器和web前端的界面進行交互
- Android App端與PHP Web端的簡單數(shù)據(jù)交互實現(xiàn)示例
- 微信小程序?qū)W習筆記之表單提交與PHP后臺數(shù)據(jù)交互處理圖文詳解
- php變量與JS變量實現(xiàn)不通過跳轉(zhuǎn)直接交互的方法
- Ajax+PHP簡單數(shù)據(jù)交互
- PHP與MySQL交互使用詳解
- PHP與服務器文件系統(tǒng)的簡單交互
- PHP與Web頁面交互操作實例分析
相關(guān)文章
ajax提交到servelt獲取參數(shù)有亂碼的解決方法
這篇文章主要介紹了ajax提交到servelt獲取參數(shù)有亂碼的解決方法,需要的朋友可以參考下2014-02-02使用jquery 的ajax調(diào)用總是錯誤親測的解決方法
使用jquery 的ajax功能調(diào)用一個頁面,卻發(fā)現(xiàn)總是出現(xiàn)錯誤,經(jīng)過這么多測試終于正常了,尤其是 dataType: 'json',看來jquery有很嚴格的驗證機制2013-07-07AJAX實現(xiàn)跨域的三種方法(代理,JSONP,XHR2)
這篇文章主要介紹了AJAX實現(xiàn)跨域的三種方法(代理,JSONP,XHR2)的相關(guān)資料,需要的朋友可以參考下2016-03-03