zoukankan      html  css  js  c++  java
  • The AJAX response: XML, HTML, or JSON?

    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稍微简单;

  • 相关阅读:
    linux rcu
    linux下的进程、网络、性能监控命令
    使用optimizely做A/B测试
    使用logstash收集日志的可靠性验证
    LAMP-HTTPD的安装全步骤
    Iptables Save
    linux-ftp
    远程桌面验证问题,函数错误-windows
    ESXIroot密码重置
    centos or windows 双系统
  • 原文地址:https://www.cnblogs.com/paul-cheung/p/3191522.html
Copyright © 2011-2022 走看看