ajax可以处理服务器返回哪些数据类型?

这次给大家带来ajax可以处理服务器返回哪些数据类型?,ajax处理服务器返回数据类型的注意事项有哪些,下面就是实战案例,一起来看一下。

1.Text/HTML格式 这种返回类型处理很简单,直接就当作字符串用就行了.为了方便使用,封装成如下函数:

/** * @function 利用ajax动态交换数据(Text/HTML格式) * @param url  要提交请求的页面 * @param jsonData 要提交的数据,利用Json传递 * @param getMsg 这个函数可以获取到处理后的数据 */function ajaxText(url,jsonData,getMsg){  //创建Ajax对象,ActiveXObject兼容IE5,6  var oAjax = window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP");  //打开请求  oAjax.open('POST',url,true);//方法,URL,异步传输  //发送请求  var data = '';  for(var d in jsonData)  //拼装数据    data += (d + '=' +jsonData[d]+'&');  oAjax.setRequestHeader("Content-type","application/x-www-form-urlencoded");  oAjax.send(data);  //接收返回,当服务器有东西返回时触发  oAjax.onreadystatechange = function ()  {    if(oAjax.readyState == 4 && oAjax.status == 200)    {      if(getMsg) getMsg(oAjax.responseText);    }  }}

登录后复制

服务器端返回数据格式如下:
例如:

//返回的是xml格式//header("Content-Type:text/xml;charset=utf-8");//返回的是text或Json格式header("Content-Type:text/html;charset=utf-8");//禁用缓存,是为了数据一样的前提下还能正常提交,而不是缓存数据header("Cache-Control:no-cache");$username = $_POST['username']; //获取用户名if(empty($username))  echo '请输入用户名';else if($username == 'acme')  echo '用户名已被注册';else  echo '用户名可用';

登录后复制

调用格式如下:

url = 'abc.php';var jsonData={username:'acme',passw:'acme'};ajaxText(url,jsonData,getMsg);function getMsg(msg){ //do something}

登录后复制登录后复制

2.XML格式

返回的是一个XML DOM对象,解析其中的数据就类似于HTML DOM 编程. 比如通过name获取标签对象(数组形式),再从该数组中获取需要的标签对象,再从标签对象中获取文本值.
函数如下:

/** * @function 利用ajax动态交换数据(XML格式) * @param url  要提交请求的页面 * @param jsonData 要提交的数据,利用Json传递 * @param tagName 要获取值的标签名 * @param getMsg 这个函数可以获取到处理后的数据 */function ajaxXML(url,jsonData,tagName,getMsg){  //创建Ajax对象,ActiveXObject兼容IE5,6  var oAjax = window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP");  //打开请求  oAjax.open('POST',url,true);//方法,URL,异步传输  //发送请求  var data = '';  for(var d in jsonData)  //拼装数据    data += (d + '=' +jsonData[d] + '&');  oAjax.setRequestHeader("Content-type","application/x-www-form-urlencoded");  oAjax.send(data);  //接收返回,当服务器有东西返回时触发  oAjax.onreadystatechange = function ()  {    if(oAjax.readyState == 4 && oAjax.status == 200)    {      var oXml = oAjax.responseXML; //返回的是一个XML DOM对象      var oTag = oXml.getElementsByTagName(tagName);      var tagValue = oTag[0].childNodes[0].nodeValue;      if(getMsg)getMsg(tagValue);    }  }}

登录后复制

服务器端返回数据格式如下:
例如:

//返回的是xml格式header("Content-Type:text/xml;charset=utf-8");//返回的是text或Json格式//header("Content-Type:text/html;charset=utf-8");//禁用缓存,是为了数据一样的前提下还能正常提交,而不是缓存数据header("Cache-Control:no-cache");$username = $_POST['username']; //获取用户名if(empty($username))  echo '请输入用户名'; //这些标签可以自定义else if($username == 'acme')  echo '用户名已被注册';else  echo '用户名可用';

登录后复制

调用格式如下:

var url = 'abc.php';var jsonData = {username:'acme'};ajaxXML(url,jsonData,'mes',getMsg);function getMsg(msg) {   //do something }

登录后复制

3.返回json

函数如下:

/** * @function 利用ajax动态交换数据(Text/HTML格式),但是返回的是Json类型的文本数据 * @param url  要提交请求的页面 * @param jsonData 要提交的数据,利用Json传递 * @param getMsg 这个函数可以获取到处理后的数据 */function ajaxJson(url,jsonData,getMsg){  //创建Ajax对象,ActiveXObject兼容IE5,6  var oAjax = window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP");  //打开请求  oAjax.open('POST',url,true);//方法,URL,异步传输  //发送请求  var data = '';  for(var d in jsonData)  //拼装数据    data += (d + '=' +jsonData[d] + '&');  oAjax.setRequestHeader("Content-type","application/x-www-form-urlencoded");  oAjax.send(data);  //接收返回,当服务器有东西返回时触发  oAjax.onreadystatechange = function ()  {    if(oAjax.readyState == 4 && oAjax.status == 200)    {      var json = eval('('+oAjax.responseText+')');//把传回来的字符串解析成json对象      if(getMsg)getMsg(json);    }  }}

登录后复制

服务器端返回数据格式如下:

例如:

//返回的是xml格式//header("Content-Type:text/xml;charset=utf-8");//返回的是text或Json格式header("Content-Type:text/html;charset=utf-8");//禁用缓存,是为了数据一样的前提下还能正常提交,而不是缓存数据header("Cache-Control:no-cache");$username = $_POST['username']; //获取用户名if(empty($username))  echo '{"mes":"请输入用户名"}';else if($username == 'acme')  echo '{"mes":"用户名已被注册"}';else  echo '{"mes":"用户名可用"}';

登录后复制

调用格式如下:

url = 'abc.php';var jsonData={username:'acme',passw:'acme'};ajaxText(url,jsonData,getMsg);function getMsg(msg){ //do something}

登录后复制登录后复制

为了方便使用,可以把三个函数合并.合并后的函数如下:

/** * @function 利用ajax动态交换数据 * @param url  要提交请求的页面 * @param jsonData 要提交的数据,利用Json传递 * @param getMsg 这个函数可以获取到处理后的数据 * @param type  接受的数据类型,text/xml/json * @param tagName type = xml 的时候这个参数设置为要获取的文本的标签名 * @return 无 */function ajax(url,jsonData,getMsg,type,tagName){  //创建Ajax对象,ActiveXObject兼容IE5,6  var oAjax = window.XMLHttpRequest?new XMLHttpRequest():new ActiveXObject("Microsoft.XMLHTTP");  //打开请求  oAjax.open('POST',url,true);//方法,URL,异步传输  //发送请求  var data = '';  for(var d in jsonData)  //拼装数据    data += (d + '=' +jsonData[d]+'&');  oAjax.setRequestHeader("Content-type","application/x-www-form-urlencoded");  oAjax.send(data);  //接收返回,当服务器有东西返回时触发  oAjax.onreadystatechange = function ()  {    if(oAjax.readyState == 4 && oAjax.status == 200)    {      if(type == 'text')      {        if(getMsg) getMsg(oAjax.responseText);      }      else if(type == 'json')      {        var json = eval('('+oAjax.responseText+')');//把传回来的字符串解析成json对象        if(getMsg)getMsg(json);      }      else if(type == 'xml')      {        var oXml = oAjax.responseXML; //返回的是一个XML DOM对象        var oTag = oXml.getElementsByTagName(tagName);        var tagValue = oTag[0].childNodes[0].nodeValue;        if(getMsg)getMsg(tagValue);      }    }  }}

登录后复制

相信看了本文案例你已经掌握了方法,更多精彩请关注【创想鸟】其它相关文章!

推荐阅读:

ajax异步下载文件

怎么操作Ajax返回HTML标签样式

ajax怎么使文件与图片异步上传

以上就是ajax可以处理服务器返回哪些数据类型?的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2768084.html

(0)
上一篇 2025年3月8日 11:55:42
下一篇 2025年2月27日 11:03:47

AD推荐 黄金广告位招租... 更多推荐

相关推荐

  • ajax加载超时提示怎样实现

    这次给大家带来ajax加载超时提示怎样实现,ajax加载超时提示实现的注意事项有哪些,下面就是实战案例,一起来看一下。 index.php 加载超时 function load(){ $(“#tips”).html(“加载中…”); $…

    编程技术 2025年3月8日
    200
  • Ajax用户认证与注册使用详解

    这次给大家带来Ajax用户认证与注册使用详解,Ajax用户认证与注册的注意事项有哪些,下面就是实战案例,一起来看一下。 Ajax 表单提交是一个功能强大的技术,提供一种发送 web 表单的方法,无需重载浏览器窗口。jQuery 库让您使用 …

    编程技术 2025年3月8日
    200
  • Ajax丢失刷新后数据怎么处理

    这次给大家带来Ajax丢失刷新后数据怎么处理,处理Ajax丢失刷新后数据的注意事项有哪些,下面就是实战案例,一起来看一下。 Ajax 简介: AJAX即“Asynchronous Javascript And XML”(异步JavaScri…

    编程技术 2025年3月8日
    200
  • jQuery+与ajax怎么实现局部刷新功能

    这次给大家带来jQuery+与ajax怎么实现局部刷新功能,jQuery+与ajax实现局部刷新功能的注意事项有哪些,下面就是实战案例,一起来看一下。 当某几个页面都有相同的头部、导航、底部的时候,点击导航链接可以在几个页面中切换,此时想要…

    编程技术 2025年3月8日
    200
  • ajax读取properties步骤详解

    这次给大家带来ajax读取properties步骤详解,ajax读取properties的注意事项有哪些,下面就是实战案例,一起来看一下。 properties资源文件的内容如下: hello=englishwwname=english z…

    编程技术 2025年3月8日
    200
  • AJAX请求队列使用详解

    这次给大家带来AJAX请求队列使用详解,使用AJAX请求队列的注意事项有哪些,下面就是实战案例,一起来看一下。 AJAX在使用的过程中会遇到一个问题,当用户短时间内执行了多个异步请求的时候,如果前一个请求没完成,将会被取消执行最新的一个请求…

    编程技术 2025年3月8日
    200
  • jQuery+json做出Ajax调用功能(附代码)

    这次给大家带来jQuery+json做出Ajax调用功能(附代码),jQuery+json做出Ajax调用功能的注意事项有哪些,下面就是实战案例,一起来看一下。 Userservlet.java代码: package com.iss.ser…

    编程技术 2025年3月8日
    200
  • AJAX请求队列的使用详解

    这次给大家带来AJAX请求队列的使用详解,使用AJAX请求队列的注意事项有哪些,下面就是实战案例,一起来看一下。 AJAX在使用的过程中会遇到一个问题,当用户短时间内执行了多个异步请求的时候,如果前一个请求没完成,将会被取消执行最新的一个请…

    编程技术 2025年3月8日
    200
  • JS实现ajax调用后台定义(附代码)

    这次给大家带来JS实现ajax调用后台定义(附代码),JS实现ajax调用后台定义的注意事项有哪些,下面就是实战案例,一起来看一下。 1.首先我们先创建一个antzone.aspx页面。 2.在它的cs文件中创建如下函数: public s…

    编程技术 2025年3月8日
    200
  • Ajax实现Loading效果

    这次给大家带来Ajax实现Loading效果,Ajax实现Loading效果的注意事项有哪些,下面就是实战案例,一起来看一下。 在Ajax进行后台数据请求的过程中,我们有时候会希望用户能知道页面后台还在做一些事情,这时候就需要给用户一个非常…

    编程技术 2025年3月8日
    200

发表回复

登录后才能评论