1、正常的AJAX调用方法:
//创建XMLHttpRequest对象
function create()
{
var Req;
if(window.XMLHttpRequest)
{ //Mozilla 浏览器
Req = new XMLHttpRequest();
}
else if (window.ActiveXObject)
{
// IE浏览器
try
{
Req = new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
Req = new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
}
}
}
return Req;
}
//创建XMLHttpRequest对象
var XMLHttpReq;
var XMLHttpReq1;
function createXMLHttpRequest()
{
if(XMLHttpReq==null){
XMLHttpReq = create();
}
}
function createXMLHttpRequest1()
{
if(XMLHttpReq1==null){
XMLHttpReq1 = create();
}
}
//发送空请求函数
function sendEmptyRequest()
{
createXMLHttpRequest();
//var url = "getmsg.do";
XMLHttpReq.open("POST", "../chatroom/getmsg.do", true);
XMLHttpReq.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
XMLHttpReq.onreadystatechange = processResponse;
XMLHttpReq.send(null);
//window.setTimeout(sendEmptyRequest(),5000);
//XMLHttpReq.open("GET", url, true);
//XMLHttpReq.onreadystatechange = processResponse;
//XMLHttpReq.send(null);
}
// 处理返回信息函数
function processResponse()
{
if (XMLHttpReq.readyState == 4)
{
// 判断对象状态
if (XMLHttpReq.status == 200)
{
// 信息已经成功返回,开始处理信息
var text = XMLHttpReq.responseText;
document.getElementByIdx_x_x_x("msg").innerHTML = text.trim();
}
else
{
//页面不正常
window.alert("您所请求的页面有异常。");
}
}
}
//发送请求函数
function sendRequest(url,name,value)
{
createXMLHttpRequest1();
//get
//XMLHttpReq.open("GET", url, true);
//XMLHttpReq.onreadystatechange = processResponse;
//XMLHttpReq.send(null);
//post
//var url = "chat.do";
XMLHttpReq1.open("POST", url, true);
XMLHttpReq1.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
XMLHttpReq1.onreadystatechange = processResponse1;//指定响应函数
var str = "name="+name+"&value="+value;
str = encodeURI(encodeURI(str));
XMLHttpReq1.send(str); // 发送请求
}
// 处理返回信息函数1
function processResponse1()
{
if (XMLHttpReq1.readyState == 4)
{
// 判断对象状态
if (XMLHttpReq1.status == 200)
{
// 信息已经成功返回,开始处理信息
var text = XMLHttpReq1.responseText;
if(text.trim()!="null"&&text.trim()!=""){
alert(text);
}
}
else
{
//页面不正常
window.alert("您所请求的页面有异常。");
}
}
document.form1.content.value = "";
document.form1.content.focus();
}
2、使用jQuery操作AJAX的方法:
$.ajax({
type: "get",
url: "http://www.myurl.com",
beforeSend: function(XMLHttpRequest){
//在这里显示“正在加载”信息
},
complete: function(XMLHttpRequest, textStatus){
//请求完成,隐藏“正在加载”信息
},
success: function(data, textStatus){
//请求成功时的操作
}
error: function(){
//请求出错处理
}
});
<script src="../include/js/jquery.js" type="text/javascript"></script>
<script type="text/javascript">
function doAction(a,id){
ids = 0;
if(a=='deleteAll'){
if(confirm('请确认是否删除!')){
$.ajax({
url:'article.action.php',
type: 'POST',
data:'act=delete&id='+getCheckedIds('checkbox'),
success: function(data){
window.location.href = window.location.href;
}
});
}
}
if(a=='delete'){
if(confirm('请确认是否删除!')){
$.ajax({
url:'article.action.php',
type: 'POST',
data:'act=delete&id='+id,
success: function(data){
window.location.href = window.location.href;
}
});
}
}
if(a=='moveAll'){
scid = document.getElementByIdx_x_x_x("selectCid").value;
if(confirm('请确认是否转移!')){
$.ajax({
url:'article.action.php',
type: 'POST',
data:'act=move&scid='+scid+'&id='+getCheckedIds('checkbox'),
success: function(data){
window.location.href = window.location.href;
}
});
}
}
}
//全选/取消
function checkAll(o,checkBoxName){
var oc = document.getElementsByName(checkBoxName);
for(var i=0; i<oc.length; i++) {
if(o.checked){
oc[i].checked=true;
}else{
oc[i].checked=false;
}
}
checkDeleteStatus(checkBoxName)
}
//检查有选择的项,如果有删除按钮可操作
function checkDeleteStatus(checkBoxName){
var oc = document.getElementsByName(checkBoxName);
for(var i=0; i<oc.length; i++) {
if(oc[i].checked){
document.getElementByIdx_x_x_x('DeleteCheckboxButton').disabled=false;
document.getElementByIdx_x_x_x('updateCategoryButton').disabled=false;
document.getElementByIdx_x_x_x('selectCid').disabled=false;
return;
}
}
document.getElementByIdx_x_x_x('DeleteCheckboxButton').disabled=true;
document.getElementByIdx_x_x_x('updateCategoryButton').disabled=true;
document.getElementByIdx_x_x_x('selectCid').disabled=true;
}
//获取所有被选中项的ID组成字符串
function getCheckedIds(checkBoxName){
var oc = document.getElementsByName(checkBoxName);
var CheckedIds = "";
for(var i=0; i<oc.length; i++) {
if(oc[i].checked){
if(CheckedIds==''){
CheckedIds = oc[i].value;
}else{
CheckedIds +=","+oc[i].value;
}
}
}
return CheckedIds;
}
</script>