我的编程空间,编程开发者的网络收藏夹
学习永远不晚

ajax如何处理服务器返回的三种数据类型

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

ajax如何处理服务器返回的三种数据类型

这篇文章给大家分享的是有关ajax如何处理服务器返回的三种数据类型的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

其原理很简单,结构上基本不变,只是改变处理返回数据的方式.

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


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 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 '<user><mes>请输入用户名</mes></user>'; //这些标签可以自定义
else if($username == 'acme')
  echo '<user><mes>用户名已被注册</mes></user>';
else
  echo '<user><mes>用户名可用</mes></user>';

调用格式如下:

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

3.返回json

函数如下:


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(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如何处理服务器返回的三种数据类型”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

ajax如何处理服务器返回的三种数据类型

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

PHP 函数返回值的类型如何影响网络请求的处理?

php 函数的返回值类型决定了网络请求的处理方式:字符串类型:直接返回响应内容。资源类型:使用回调函数(如 curl_setopt 和 curl_exec)来处理资源。布尔类型:检查资源是否存在。数组类型:通过循环访问响应数据。对象类型:将
PHP 函数返回值的类型如何影响网络请求的处理?
2024-04-15

PHP 函数返回值的类型如何影响图像处理的效率?

对于图像处理,php 函数的返回类型对效率有重大影响。资源类型最慢,整数/浮点数最快,数组和字符串介于两者之间。整数、浮点数和布尔值适合轻量级任务,数组适合处理较大数据,字符串适合输出图像信息为字符串的应用程序。PHP 函数返回值的类型如何
PHP 函数返回值的类型如何影响图像处理的效率?
2024-04-16

PHP8如何使用Mixed Type处理各种不同类型的数据?

PHP8如何使用Mixed Type处理各种不同类型的数据?PHP8是PHP语言的最新版本,引入了许多新的功能和改进。其中一个重要的改进是Mixed Type(混合类型)的引入,它允许开发者在函数参数、返回值和变量声明中处理各种不同类型的数
2023-10-22

PHP8如何使用Mixed Type来处理各种不同类型的数据?

PHP8如何使用Mixed Type来处理各种不同类型的数据?摘要:PHP8引入了Mixed Type,它是一种灵活的数据类型,可以处理各种不同类型的数据。本文将介绍Mixed Type的特性,并提供一些具体的代码示例,以帮助读者更好地了解
2023-10-26

云服务器如何配置access数据库中的数据类型包括哪几种

云服务器可以配置为允许在单独的数据库中存储多种类型的数据,以便您可以更轻松地管理和查询数据。在配置数据库时,需要注意以下一些事项:确定数据类型:在将数据存储到云服务器之前,您需要确定您使用的数据库类型,并确定哪些数据类型可用于存储和处理您的数据。选择适当的数据格式:数据类型可以包括整数、浮点数、字符串和布尔值等。您需要选择一个适当的格式来存储和处理数据。选择数据存储位置:根据您的需求,您需要将数据保存在不同...
2023-10-27

云服务器如何选大小的数据类型

云服务器可以选择支持多种类型的数据,以下是一些常见的数据类型:整数数据类型:例如,如果您使用的是AWS的DriveCloud或者Google的GDT实例,那么可以选择整数类型的数据,例如$\DriveCloud/CloudDrive或者AWS_Drive--。浮点数数据类型:例如,如果您使用的是AWS的DriveCloud的GPU,那么可以选择浮点数类型的数据,例如$\DriveCloud
2023-10-26

如何在golang中编写一个函数来处理两种类型的输入数据

你在学习Golang相关的知识吗?本文《如何在golang中编写一个函数来处理两种类型的输入数据》,主要介绍的内容就涉及到,如果你想提升自己的开发能力,就不要错过这篇文章,大家要知道编程理论基础和实战操作都是不可或缺的哦!问题内容我有多个
如何在golang中编写一个函数来处理两种类型的输入数据
2024-04-04

云服务器如何配置access数据库中的数据类型

在云服务器中配置access数据库中的数据类型可以通过以下步骤进行:在数据库表中创建新表:首先,使用SQL语句创建数据库表,可以创建一个名为"usertable"的新表,或者创建一个包含名为"usercolumn"的子表。在新表中,可以包含以下列:"ID"、"name"、"age"等。修改已有数据库表:如果需要修改已有数据库表,可以通过以下步骤进行:在已有的数据库表上,执行以下语句:s
2023-10-26

云服务器如何选大小的数据类型呢

云服务器可以根据数据类型进行自动伸缩和扩展,以下是一些常见的数据类型以及它们的特性:MicrosoftSQL数据库:SQLServer(Microsoft)是最常见的云服务器类型之一,它的数据库可以通过SQLServerManagementServices(SERV)连接到公共云提供商。SERV提供了可用于数据处理、查询、报告和安全性的强大功能。PostgreSQL数据库:PostgreSQL是一种强大的关系数据库,它允许数据库用户将数据存储在数据存储中以及将...
2023-10-27

云服务器如何选大小的数据类型设置

云服务器可以根据您的业务需求,设置相应的数据类型设置,以满足您的数据需求。以下是选择云服务器数据类型的一些建议:Mariadb/Solaris/AWS:Mariadb是一种广泛使用的Web服务器,可用于构建大规模数据库、存储和网络应用程序。AWS也提供了大量的云存储解决方案,如Kubernetes和Mesos,可用于支持大规模数据处理。MongoDB:MongoDB是一种基于Java的分布式数据库,它可以在不需要服务器的情况下轻松扩展,并且可以通过Web...
2023-10-27

云服务器如何配置access数据库中的数据类型文件

在云服务器中配置access数据库中的数据类型文件时,可以使用以下步骤:在开始配置之前,需要确保将数据库文件的类型更改为需要处理的文件类型。在SQLite3中,可以使用mysqli来配置数据库文件的类型,例如Python的data,可以使用database来配置数据库文件的类型。选择一个数据库服务提供商(如DynamoDB或MySQL)并检查其支持的数据类型文件类型。在配置access数
2023-10-26

编程热搜

目录