shared from: http://www.quirksmode.org/blog/archives/2005/12/the_ajax_respon.html

1. 返回XML文档

对返回的XML文档进行读取,然后插入到当前的HTML页面中。读取不方便,XSLT此时派上用场,将XML文档转换成另一种XML文档;

优点:可读性强;很多开发者已经习惯XML格式,而不是JSON数据(Saying "I'd like your server side script to return an XML document" won't cause raised eyebrows, while saying "I'd like the script to return a JSON object" might.);

缺点:将XML数据插入到HTML中的javascript较长。

2.返回HTML片段

不必返回整个页面,将需要的数据返回并插入到当前HTML页面中;

优点:a.插入脚本简单,$("#div").innerHTML = req.responseText;

b.在server端准备script来创建整个HTML页面(在任何设备上都可以显示);当请求恰好来自AJAX的时候,server端脚本会忽略掉除了搜到的结果以外的所有HTML数据;对比XML和JSON实现同样的功能,HTML是最简单的;

缺点:a.假如返回的HTML片段包含Forms,或得到一个Form元素,这种方法会在浏览器中产生(horrific)错误;

b.HTML片段可能很复杂;

3.返回JSON字符串

传递可以解释为javascript对象的字符串,当收到JSON数据的时候,用javascript的方法evel()将其转换成javascript object,随后操作;

优点:1.JSON绕过javascript的“同源策略”;也就是说,javascript不允许访问来自其他server的XML或HTML);然而如果用<script></script> import一个JSON文件将会解决这个问题。任何JSON数据都可以引用到任何网站上;

2.处理JSON数据的script比XML稍微简单;

The AJAX response: XML, HTML, or JSON?的更多相关文章

  1. 如何在ASP.NET中用C#将XML转换成JSON

    本文旨在介绍如果通过C#将获取到的XML文档转换成对应的JSON格式字符串,然后将其输出到页面前端,以供JavaScript代码解析使用.或许你可以直接利用JavaScript代码通过Ajax的方式来 ...

  2. ajax请求、servlet返回json数据

    ajax请求.servlet返回json数据 1.方式一 response.setcontenttype("text/html;charset=utf-8"); response. ...

  3. jquery的ajax异步请求接收返回json数据

    http://www.jb51.net/article/51122.htm jquery的ajax异步请求接收返回json数据方法设置简单,一个是服务器处理程序是返回json数据,另一种就是ajax发 ...

  4. 如何在ASP.NET中用C#将XML转换成JSON 【转】

      本文旨在介绍如果通过C#将获取到的XML文档转换成对应的JSON格式字符串,然后将其输出到页面前端,以供JavaScript代码解析使用.或许你可以直接利用JavaScript代码通过Ajax的方 ...

  5. JQuery.Ajax + 跨域 (crossDomain) + POST + JSON + WCF RESTful, 5大陷阱和解决方案

    JQuery.Ajax + 跨域 (crossDomain) + POST + JSON + WCF RESTful, 5大陷阱和解决方案 最近在开发WSS RESTful服务的时候, 碰到了这些个纠 ...

  6. c#转换XML文件和json对象

    创建.XML文件string xml = @"<?xml version=""1.0"" standalone=""no&q ...

  7. jquery用ajax方式从后台获取json数据后如何将内容填充到下拉列表

    对于问题从后台获取json数据,将内容填充到下拉列表,代码非常简单,具体过程请看下面代码. 需求:url:链接     par:ID       sel:下拉列表选择器 function BuildS ...

  8. 用C#将XML转换成JSON

    本文旨在介绍如果通过C#将获取到的XML文档转换成对应的JSON格式字符串,然后将其输出到页面前端,以供JavaScript代码解析使用.或许你可以直接利用JavaScript代码通过Ajax的方式来 ...

  9. 前端ajax用post方式提交json数据给后端时,网络报错 415

    项目框架:spring+springmvc+mybatis 问题描述:前端ajax用post方式提交json数据给后端时,网络报错 415 前端异常信息:Failed to load resource ...

随机推荐

  1. BZOJ 4327: JSOI2012 玄武密码 后缀自动机

    Code: #include<bits/stdc++.h> #define setIO(s) freopen(s".in","r",stdin) # ...

  2. BZOJ 1738: [Usaco2005 mar]Ombrophobic Bovines 发抖的牛 网络流 + 二分 + Floyd

    Description FJ's cows really hate getting wet so much that the mere thought of getting caught in the ...

  3. appium的截图

    在实际自动化项目运行过程中,很多时候App可以会出现各种异常,为了更好的定位问题,除了捕捉日志我们还需要对运行时的设备状态来进行截屏.从而达到一种“有图有真相”的效果. 截图方法 方法1 save_s ...

  4. Google Shell Style Guide

    转自:http://google.github.io/styleguide/shell.xml Shell Style Guide Revision 1.26 Paul Armstrong Too m ...

  5. Running to the End(Codeforces & AtCoder 百套计划)

    ...Reserved for the future... 仿照xxy dalao的CF&CC百套计划,做了一个Codeforces & AtCoder 百套计划,按这个速度刷下去,每 ...

  6. java链接linux服务器,命令操作

    1.本地读取linux文件,即在Windows上链接外部linux package com.common.utils; import java.io.BufferedReader; import ja ...

  7. 批量重命名B站下载文件

    将B站下载的文件统一修改文件名 事情来由 事情是这样的,我在B站上发现一个教程,看了一下,非常不错,于是想下载下来(免得B站和谐). 问题就是这样来了,我手机没多少内存,下载后下发现文件在手机中都是以 ...

  8. 【Codeforces 903B】The Modcrab

    [链接] 我是链接,点我呀:) [题意] [题解] 显然如果对方一次攻击能打死你. 那么你不能对他攻击了.必须加血.其他时候都只要攻击就可以了. 但也不一定非得加血. 因为有时候可以"绝杀& ...

  9. 通过Sqoop实现Mysql / Oracle 与HDFS / Hbase互导数据

    通过Sqoop实现Mysql / Oracle 与HDFS / Hbase互导数据\ 下文将重点说明通过Sqoop实现Mysql与HDFS互导数据,Mysql与Hbase,Oracle与Hbase的互 ...

  10. MySQL Migration Toolkit v2.1特别版

    MySQL数据库转换工具MySQL Migration Toolkit v2.1特别版 支持mssql\oracle\access\excel与mysql互换 可以将任何数据源转换成mysql的数据, ...