一、原生試
//設置瀏覽器的兼容性
function createXmlHttp() {
var xmlHttp = null;
try {
//Firefox, Opera 8.0+, Safari
xmlHttp = new XMLHttpRequest();
} catch (e) {
//IE
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
//ajax異步提交請求
function submit(){
var xmlHttp = createXmlHttp();
if(!xmlHttp) {
alert("您的瀏覽器不支持AJAX!");
return 0;
}
var url = ' ';
var postData = "";
postData ="departmentId="+ codes; //需要傳遞的參數
xmlHttp.open("POST", url, true);
xmlHttp.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");
xmlHttp.onreadystatechange = function() {
if(xmlHttp.readyState == 4 && xmlHttp.status == 200) {
if(xmlHttp.responseText) { //請求成功后的回調函數
var data=xmlHttp.responseText; //返回的數據 String類型
var list=eval(data); //轉換為Object類型
if(list.length>0){
//獲取父級窗體的元素在子級頁面進行賦值
window.opener.document.getElementById("departmentId").value = "";
window.opener.document.getElementById("departmentName").value= names;
//獲取父級頁面的select下拉框元素
var position= window.opener.document.getElementById("position");
position.options.length=0; //清空option項的值
position.options.add(new Option("請選擇","0")); //動態給option項添加默認值;
//循環數據動態給option項賦值
for(var i = 0; i<list.length;i++){
//動態添加職位下拉框中的值
position.options.add(new Option(list[i].name,list[i].id));
}
window.close();
} else{
alert("該部門下沒有職位請添加職位");
window.opener.document.getElementById("departmentId").value ="";
window.opener.document.getElementById("departmentName").value= "";
var position= window.opener.document.getElementById("position");
position.options.length=0;
position.options.add(new Option("請選擇","0"));
//window.location.href = "<%=request.getContextPath()%>/positionAction.do?method=toadd";
window.close();
}
} else{
alert("刪除失敗");
}
}
}
xmlHttp.send(postData);
}
二、jquery _ajax 異步請求
1.post異步請求
$.post("url",{'data':data}, function(datas,status){
if(status=="success"){
//請求成功操作
var list=eval(data); //轉換為Object類型
for(var i = 0;i<list.length;i++){ //遍歷返回的數據
alert(list[i]);//獲取當前返回的數據
}
alert("操作成功!");
}else{
alert("操作失敗!");
}
},'json');