GVKun编程网logo

AJAX 常用函数(ajax常用方法)

21

以上就是给各位分享AJAX常用函数,其中也会对ajax常用方法进行解释,同时本文还将给你拓展ajaxget调用通用函数、AJAX常用函数创建XMLHTTP对象,区别IE,Mozilla浏览器、Ajax

以上就是给各位分享AJAX 常用函数,其中也会对ajax常用方法进行解释,同时本文还将给你拓展ajax get 调用通用函数、AJAX 常用函数创建XMLHTTP对象,区别IE,Mozilla浏览器、Ajax 技术一 ajax提交表单 jquery ajax教程 js ajax、Ajax01 什么是ajax、获取ajax对象、ajax对象的属性和方法等相关知识,如果能碰巧解决你现在面临的问题,别忘了关注本站,现在开始吧!

本文目录一览:

AJAX 常用函数(ajax常用方法)

AJAX 常用函数(ajax常用方法)

创建XMLHTTP对象,区别IE,Mozilla浏览器 

   
复制代码 代码如下:
 function getRequest() {  
        http_request = false;  
        if (window.XMLHttpRequest) {   
            //对于Mozilla﹑Netscape﹑Safari等浏览器,创建XMLHttpRequest   
            http_request = new XMLHttpRequest();  
            if (http_request.overrideMimeType) {  
                 //如果服务器响应的header不是text/xml,可以调用其它方法修改该header  
                http_request.overrideMimeType(''text/xml'');  
            }  
        } else if (window.ActiveXObject) {   
  // 对于Internet Explorer浏览器,创建XMLHttpRequest   
            try {  
                http_request = new ActiveXObject("Msxml2.XMLHTTP");  
            } catch (e) {  
                try {  
                    http_request = new ActiveXObject("Microsoft.XMLHTTP");  
                } catch (e) {}  
            }  
        }  
  return http_request;  
 } 
//获得Url 的responseText

复制代码 代码如下:
 function getResponseText(url)  
 {  
  http_request=getRequest();  
        http_request.open(''GET'', url, false);  
        http_request.send(null);  

  if (http_request.readyState == 4)   
    {  
     // 收到完整的服务器响应   
     if (http_request.status == 200) {  
      //HTTP服务器响应的值OK  
      requestdoc = http_request.responseText;   
      //将服务器返回的字符串写到页面中ID为message的区域   
    }   
      else {  
      requestdoc = http_request.status;  
      }  
    }  
  return requestdoc;  
 } 
//获得Url 的responseXML 
 
复制代码 代码如下:
function getResponseText(url)  
 {  
  http_request=getRequest();  
        http_request.open(''GET'', url, false);  
        http_request.send(null);  

  if (http_request.readyState == 4)   
    {  
     // 收到完整的服务器响应   
     if (http_request.status == 200) {  
      //HTTP服务器响应的值OK  
      requestdoc = http_request.responseXML;   
      //将服务器返回的字符串写到页面中ID为message的区域   
    }   
      else {  
      requestdoc = http_request.status;  
      }  
    }  
  return requestdoc;  
 } 

ajax get 调用通用函数

ajax get 调用通用函数

之前研究了post的 现在把get的通用函数也拿出来和大家分享下 不懂的加我qq852208555一起研究

ajax_get.PHP 代码如下

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<Meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>爱乐ajax例子</title>
</head>
<script language="javascript">
//这里是整个处理表单元素加载到变量的模块开始
//获取指定form中的所有的<input>对象
function getElements(formId)
{
var form = document.getElementById(formId);
var elements = new Array();
var tagElements = form.getElementsByTagName('input');
for (var j = 0; j < tagElements.length; j++)
{
elements.push(tagElements[j]);
}
return elements;
}
//获取单个input中的【name,value】数组
function inputSelector(element)
{
if (element.checked)
return [element.name,element.value];
}

function input(element)
{
switch (element.type.toLowerCase())
{
case 'submit':
case 'hidden':
case 'password':
case 'text':
return [element.name,element.value];
case 'checkBox':
case 'radio':
return inputSelector(element);
}
return false;
}

//组合URL
function serializeElement(element)
{
var method = element.tagName.toLowerCase();
var parameter = input(element);

if (parameter)
{
var key = encodeURIComponent(parameter[0]);
if (key.length == 0) return;

if (parameter[1].constructor != Array)
parameter[1] = [parameter[1]];

var values = parameter[1];
var results = [];
for (var i=0; i<values.length; i++)
{
results.push(key + '=' + encodeURIComponent(values[i]));
}
return results.join('&');
}
}

//调用方法
function serializeform(formId) {
var elements = getElements(formId);
var queryComponents = new Array();
for (var i = 0; i < elements.length; i++)
{
var queryComponent = serializeElement(elements[i]);
if (queryComponent)
queryComponents.push(queryComponent);
}
return queryComponents.join('&');
}
//这里是整个处理表单元素加载到变量的模块的结束(如果是研究的话 先不要管上面直接看下面的学习就行了)

function ajax_get(div_al,url,form_name)/*通用函数在这里*/
{
var div_al=div_al;
//接收表单的URL地址
  var url = url;
  //获取接受返回信息层
  var form_name = form_name;
  var params = serializeform(form_name);
  //需要get的值,把每个变量都通过&来联接
  var url =url+"?"+params;
if(window.ActiveXObject){//IE的低版本系类
XHR=new ActiveXObject('Microsoft.XMLHTTP');//之前IE垄断了整个浏览器市场,没遵循W3C标准,所以就有了这句代码。。。但IE6之后开始有所改观
}
else if(window.XMLHttpRequest)
{//非IE系列的浏览器,但包括IE7 IE8
XHR=new XMLHttpRequest();
}
XHR.open("GET",true);//true:表示异步传输,而不等send()方法返回结果,这正是ajax的核心思想
XHR.onreadystatechange=function(){byhongfei(div_al/*这里可以传参数*/)};
XHR.send(null);
}
function byhongfei(div_al/*这里接受参数*/)//这个在调用方法传参可不容易 呵呵 我搞了好久才实现了
{
var div_al=div_al;
if(XHR.readyState == 4)
{
if(XHR.status == 200)
{

document.getElementById(div_al).innerHTML= XHR.responseText;
}
}
}//当状态改变时,调用byhongfei这个方法,方法的内容我们另外定义


</script>
  <body >
<div id="al">测试</div>
  <form name="user_al" method="post" action="">
  账号:<input type="text" name="username" /><br />
  密码:<input type="password" name="password" /><br />
  邮箱:<input type="text" name="email" /><br />
<input type="button" value="提交" onClick="ajax_get('al','ajax_cs.PHP','user_al');">
  </form>
</body>
</html>

下面是接收处理的函数 ajax_cs.PHP 代码:

<?PHP
header('Content-Type:text/html;charset=GB2312');
//ajax返回默认为utf-8,这里在返回头里面指出编码为GB2312以免汉字乱码
echo "你输入的信息为:</br>";

echo "账户".$_GET['username']."</br>"; echo "密码".$_GET['password']."</br>"; echo "邮箱".$_GET['email']."</br>"; ?>

AJAX 常用函数创建XMLHTTP对象,区别IE,Mozilla浏览器

AJAX 常用函数创建XMLHTTP对象,区别IE,Mozilla浏览器

AJAX 常用函数创建XMLHTTP对象,区别IE,Mozilla浏览器的函数,网上有很多创建XMLHTTP对象,区别IE,Mozilla浏览器的函数,这个比较不错,大家可以直接拿用了
复制代码 代码如下:

function getRequest() { 
        http_request = false; 
        if (window.XMLHttpRequest) {  
            //对于Mozilla﹑Netscape﹑Safari等浏览器,创建XMLHttpRequest  
            http_request = new XMLHttpRequest(); 
            if (http_request.overrideMimeType) { 
                 //如果服务器响应的header不是text/xml,可以调用其它方法修改该header 
                http_request.overrideMimeType(''text/xml''); 
            } 
        } else if (window.ActiveXObject) {  
  // 对于Internet Explorer浏览器,创建XMLHttpRequest  
            try { 
                http_request = new ActiveXObject("Msxml2.XMLHTTP"); 
            } catch (e) { 
                try { 
                    http_request = new ActiveXObject("Microsoft.XMLHTTP"); 
                } catch (e) {} 
            } 
        } 
  return http_request; 
}
//获得Url 的responseText

function getResponseText(url) 

  http_request=getRequest(); 
        http_request.open(''GET'', url, false); 
        http_request.send(null); 

  if (http_request.readyState == 4)  
   { 
     // 收到完整的服务器响应  
     if (http_request.status == 200) { 
      //HTTP服务器响应的值OK 
      requestdoc = http_request.responseText;  
      //将服务器返回的字符串写到页面中ID为message的区域  
    }  
      else { 
      requestdoc = http_request.status; 
      } 
    } 
  return requestdoc; 
}
//获得Url 的responseXML

代码片段
function getResponseText(url) 

  http_request=getRequest(); 
        http_request.open(''GET'', url, false); 
        http_request.send(null); 

  if (http_request.readyState == 4)  
   { 
     // 收到完整的服务器响应  
     if (http_request.status == 200) { 
      //HTTP服务器响应的值OK 
      requestdoc = http_request.responseXML;  
      //将服务器返回的字符串写到页面中ID为message的区域  
    }  
      else { 
      requestdoc = http_request.status; 
      } 
    } 
  return requestdoc; 
}

您可能感兴趣的文章:

Ajax 技术一 ajax提交表单 jquery ajax教程 js ajax

Ajax 技术一 ajax提交表单 jquery ajax教程 js ajax

Ajax01 什么是ajax、获取ajax对象、ajax对象的属性和方法

Ajax01 什么是ajax、获取ajax对象、ajax对象的属性和方法

1 什么是ajax

  ajax是一种用来改善用户体验的技术,其本质是利用浏览器提供的一个对象(XMLHttpRequest,也可称之为ajax对象) 向服务器发送异步请求;服务器返回部分数据(不是一个完整 的页面),浏览器利用这些数据对当前页面做部分更新; 整个过程,页面无刷新,不打断用户的操作。

  

  注意1:异步请求,指的是,当ajax对象发请求时,浏览器不会销毁当前页面,用户仍然可以对当前页面做其它的操作。

  

  注意2:打电话可以看成是同步请求,发短信可以看成是异步请求

  注意3:AJAX 不是一门的新的语言,而是对现有技术的综合利用;本质是在HTTP协议的基础上以异步的方式与服务器进行通信。

  

2 如何获取ajax对象

  

获取ajax对象源代码

3 ajax对象的几个重要属性

  a.onreadystatechange:绑订一个事件处理函数, 该函数用来处理readystatechange事件。
    注:当ajax对象的readystate属性值发生了改变, 比如,从0变成了1,则会产生readystatechange事件。
  b.readyState:有5个值(0,1,2,3,4),表示ajax对象与服务器通信的进展。其中,4表示ajax对象已经获得了服务器返回的所有的数据。
  c.responseText:获得服务器返回的文本数据。
  d.responseXML:获得服务器返回的xml数据。
  e.status:获得状态码。

4 使用ajax的编程步骤

  step1. 获得ajax对象。
    比如 var xhr = getXhr();
  step2. 发送请求。
    方式一: get请求
      xhr.open('get','checkuname.do?uname=Sally',true); xhr.onreadystatechange = f1; xhr.send(null);

        参数1:请求方式

        参数2:请求地址

        参数3:异步还是同步
          true:异步请求(默认是异步请求,二货才用ajax来实现同步请求【特殊情况除外】)
          false:同步请求(当ajax对象发送请求时,浏览器会锁 定当前页面,用户不能够对当前页面做任何操作)。
    方式二: post请求
      xhr.open('post','checkuname.do');

      xhr.setRequestHeader('content-type','application/x-www-form-urlencoded');

      xhr.onreadystatechange = f1; xhr.send('uname=Sally'); 注:      按照http协议要求,如果发送的是post请求, 在请求数据包里面,应该包含有content-type消息头; 默认情况下,ajax对象不会添加该消息头,所以需要 调用setRequestHeader方法来添加。   step3. 编写服务器端的程序。通过只需要返回部分 数据(不再需要返回完整的页面)。   step4. 写事件处理函数。     例如:      function f1(){ if(xhr.readyState == 4 && xhr.status == 200){ //获得服务器返回的数据 var txt = xhr.responseText; //更新页面 ... } }

我们今天的关于AJAX 常用函数ajax常用方法的分享就到这里,谢谢您的阅读,如果想了解更多关于ajax get 调用通用函数、AJAX 常用函数创建XMLHTTP对象,区别IE,Mozilla浏览器、Ajax 技术一 ajax提交表单 jquery ajax教程 js ajax、Ajax01 什么是ajax、获取ajax对象、ajax对象的属性和方法的相关信息,可以在本站进行搜索。

本文标签:

上一篇redis中使用java脚本实现分布式锁(java redis实现分布式锁)

下一篇[ASP.NET Ajax] ECMAScript基础类以及Asp.net Ajax对类<Object>的扩展(ajax 类型)