返回顶部
首页 > 资讯 > 服务器 >ajax如何处理服务器返回的三种数据类型
  • 880
分享到

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

2024-04-02 19:04:59 880人浏览 泡泡鱼
摘要

这篇文章给大家分享的是有关ajax如何处理服务器返回的三种数据类型的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。其原理很简单,结构上基本不变,只是改变处理返回数据的方式.1.Te

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

--结束END--

本文标题: ajax如何处理服务器返回的三种数据类型

本文链接: https://lsjlt.com/news/79915.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • ajax如何处理服务器返回的三种数据类型
    这篇文章给大家分享的是有关ajax如何处理服务器返回的三种数据类型的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。其原理很简单,结构上基本不变,只是改变处理返回数据的方式.1.Te...
    99+
    2024-04-02
  • ajax返回的数据如何取
    要从ajax返回的数据中获取特定的值,需要通过解析返回的数据进行处理。通常返回的数据是一个字符串,可以使用JSON.parse()函...
    99+
    2023-09-15
    ajax
  • 使用ajax怎么处理返回的json数据
    本篇文章给大家分享的是有关使用ajax怎么处理返回的json数据,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。以用户注册为例:register.php<html>&...
    99+
    2023-06-08
  • 云服务器的三种类型是哪三种
    云服务器(Cloud Docker Computing,简称CDC)是一种云计算服务,通常以 CloudStack 为基础运行。以下是它们的三种主要类型: Cloud Drive:Cloud Drive是一种基于Cloud Swarm技...
    99+
    2023-10-26
    三种 类型 服务器
  • 云服务器的三种类型
    云服务器是一种虚拟的、共享的计算资源,通常由大型云计算服务提供商提供。下面分别介绍它们的三种类型:私有云服务:通常由个人或组织拥有和使用,用户需要注册并订阅其服务。这种类型的云服务器可以是公共云、专有云或混合云。公共云服务:通常是由公共资源...
    99+
    2023-10-25
    三种 类型 服务器
  • mybatis 如何返回list<String>类型数据
    mybatis返回list<String>类型数据 studends表里一条teacher_id 数据对应多条 student_id数据,所以通过teacher_id 查...
    99+
    2024-04-02
  • 云服务器的三种类型是哪三种呢
    云服务器(Cloud Storage,也称为云存储)是一种基于互联网的服务器,它存储和处理大量的数据和应用程序。以下是云服务器的主要类型: 公共云: 这是一种在互联网上提供公共服务的服务器,通常包括防火墙、路由器、安全软件、杀毒软件、虚...
    99+
    2023-10-26
    三种 类型 服务器
  • Ajax上传怎么实现根据服务器端返回数据进行js处理
    这篇文章主要介绍“Ajax上传怎么实现根据服务器端返回数据进行js处理”,在日常操作中,相信很多人在Ajax上传怎么实现根据服务器端返回数据进行js处理问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操...
    99+
    2024-04-02
  • springboot返回数据量大如何处理
    当Spring Boot应用程序需要返回大量数据时,以下是一些处理方法:1. 分页查询:可以使用Spring Data JPA或其他...
    99+
    2023-09-17
    springboot
  • 云服务器的三种类型是
    云服务器可以分为以下三种类型:公共云:公共云提供了一个可用且稳定的资源池,包括内存、CPU和网络带宽。您可以在公共云上租用计算资源、存储和网络资源等。公共云通常包括许多云供应商,如AWS、Azure和Google Cloud。私有云:私有云...
    99+
    2023-10-25
    三种 类型 服务器
  • 如何实现AJAX对服务器返回XML
    本篇内容主要讲解“如何实现AJAX对服务器返回XML”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何实现AJAX对服务器返回XML”吧!具体分析如下:在AJA...
    99+
    2024-04-02
  • 云服务器的三种类型是哪三种模式
    云服务器可以分为以下三种类型: 公共云:公共云服务器是指一组供应商提供的服务器,它们将数据存储在互联网上。 本地部署云:本地部署云服务器指的是将数据存储在本地设备上,这些设备通常位于您自己的地理位置。本地部署云服务器通常具有可用性、快速...
    99+
    2023-10-26
    三种 类型 模式
  • 云服务器的三种模式是哪三种类型
    云服务器(Cloud Direct Server,简称CDN)是一种通过互联网为用户提供加速访问服务的云服务。云服务器主要有以下三种类型: 公有云模式(Public Cloud):这种云服务是由许多公司或组织使用的公共云平台,它提供了一...
    99+
    2023-10-26
    三种 类型 模式
  • C++ 函数的返回类型如何指定?
    c++++ 函数的返回类型指定其执行后返回的值的数据类型,它必须与声明的类型匹配。常见返回类型包括:void:不返回任何值。int:返回整数。double:返回双精度浮点数。bool:返...
    99+
    2024-04-18
    函数 c++ 返回类型
  • node.js+Ajax实现获取HTTP服务器返回数据
    我们看一个HTML5页面中通过AJAX请求的方式获取HTTP服务器返回数据的代码示例.由于我们把服务器的端口指定为1337,并将从端口为80的网站中运行HTML5页面,因此这是一种跨域操作,需要在HTTP响...
    99+
    2022-06-04
    服务器 数据 js
  • Go语言中,如何处理各种数据类型?
    Go语言是一种强类型语言,它支持各种数据类型,包括整型、浮点型、字符型、布尔型、字符串、数组、切片、映射、结构体等等。在Go语言中,使用这些数据类型来完成各种任务是非常常见的。 在本文中,我们将探讨Go语言中如何处理各种数据类型,并提供一...
    99+
    2023-10-01
    重定向 数据类型 shell
  • 云服务器的三种模式是哪三种类型的
    云服务器(Cloud Direct)是一种常见的云计算服务,它提供了一种虚拟化资源供用户使用,使用户能够访问和管理这些资源,无论用户使用何种设备和操作系统。 以下是三种常见的云服务器模式: 公共云:这是一个由众多计算机提供商管理的云计算...
    99+
    2023-10-27
    三种 类型 模式
  • PHP 函数返回值的类型如何影响图像处理的效率?
    对于图像处理,php 函数的返回类型对效率有重大影响。资源类型最慢,整数/浮点数最快,数组和字符串介于两者之间。整数、浮点数和布尔值适合轻量级任务,数组适合处理较大数据,字符串适合输出图...
    99+
    2024-04-16
    图像处理 php
  • PHP 函数返回值的类型如何影响网络请求的处理?
    php 函数的返回值类型决定了网络请求的处理方式:字符串类型:直接返回响应内容。资源类型:使用回调函数(如 curl_setopt 和 curl_exec)来处理资源。布尔类型:检查资源...
    99+
    2024-04-15
    php 函数返回值类型
  • PHP 中如何模拟具有多种返回值类型的函数?
    在 php 中模拟具有多种返回值类型的函数:使用数组。1. 定义一个返回数组的函数,每个值都对应一个键值对。2. 使用数组访问符号('[]')获取单个返回值。 在 PHP 中模拟具有多...
    99+
    2024-04-10
    php 模拟函数 多返回值类型 键值对
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作