Ajax备忘

一.ajax通过get方式返回txt

var http_request = false;
function createRequest(url) {  //正对不同浏览器创建XMLHttpRequest
	http_request = false;
	if (window.XMLHttpRequest) { 										
		http_request = new XMLHttpRequest();
		if (http_request.overrideMimeType) {
			http_request.overrideMimeType("text/xml");
		}
	} else if (window.ActiveXObject) { 								
		try {
			http_request = new ActiveXObject("Msxml2.XMLHTTP");
		} catch (e) {
			try {
				http_request = new ActiveXObject("Microsoft.XMLHTTP");
		   } catch (e) {}
		}
	}
	if (!http_request) {
		alert("不能创建XMLHTTP实例!");
		return false;
	}
	http_request.onreadystatechange = alertContents;   //指定回调函数
	
	http_request.open("GET", url, true);	//构建							 
	http_request.send(null);                //发送
}

function alertContents() {                      //写回调函数
	if (http_request.readyState == 4) {
		if (http_request.status == 200) {
			alert(http_request.responseText);   //这里写具体js方法
		} else {
			alert('您请求的页面发现错误');
		}
	}
}

function check(){      //这里写触发事件的函数
  if($("#txt")[0].value==""){
  alert("请输入内容!");
  $("#txt")[0].focus();
  
  }
  else{
   createRequest("test.php"); //这里传输url,可以传递信息,如url="test.php?txt_name="+txt_name+"&txt_age="+txt_age; 在php中类似$_GET[txt_name]这样调用
                              //另外这个php文件不能用html标记,否则会把整个文档都返回
  }
}


二.ajax通过post方式返回txt

post与get都需要把传递的值写入"A="+A+"&B="+B 这样的字符串中,类似url的写法,在php用$_POST[A]这样调用。另外post还需要写一句
ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); 

<script language="javascript"> 
function saveUserInfo() 
{ 

  var url = "test.php"; 

  //var info   = "txt_name="+ txt_name +"txt_age="+ txt_age ; 在php中用$_POST[txt_name]这样调用
   var info   = "txt=123"; 

  var ajax = false; 

  if(window.XMLHttpRequest)  
{   
     ajax = new XMLHttpRequest(); 
     if (ajax.overrideMimeType)  
      {  
            ajax.overrideMimeType("text/xml"); 

      } 
    } 
    else if (window.ActiveXObject)  

    { 
        try 

        { 

            ajax = new ActiveXObject("Msxml2.XMLHTTP"); 
        }  
        catch (e)  
        { 
            try 
            { 
                ajax = new ActiveXObject("Microsoft.XMLHTTP");  
            }   
            catch (e) {}  
         } 
    }  
    if (!ajax)  
    {  
        window.alert("不能创建XMLHttpRequest对象实例."); 
        return false; 
    } 
	 ajax.onreadystatechange = function()  
    {  
        if (ajax.readyState == 4 && ajax.status == 200)  
      {  
           alert(ajax.responseText);		   
        }  
    }  

    ajax.open("POST", url, true); 
    ajax.setRequestHeader("Content-Type","application/x-www-form-urlencoded"); 
    ajax.send(info); 
   
} 


</script> 

二.ajax返回xml

返回xml和上面两种方法几乎是相同的,只不过是用responseXML代替responseText,返回的是一个xml对象,在js中可以如用如下的DOM属性来读出xml的内容:

documentElement  返回当前元素的根节点
ChindNodes  返回当前元素的所有子元素的数组
FirstChild        返回当前元素的第一个下级子元素
LastChild       返回当前元素的最后一个子元素
NextSibling    返回紧跟当前元素的后面一个元素
PreviousSibling  返紧邻当前元素的之前一个元素
ParentNode  返回父节点
NodeValue   返回元素值的读写(即使到了最后text对象也要用NodeValue读出来)

另外,在php中可以用echo动态声称一个xml然后返回,但必须加上头信息header('Content-type:text/xml')。














评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值