什么是XML?

XML是可拓展标记语言,类似HTML,它的设计宗旨是为了传输数据,而不是像HTML那样显示数据。XML标签没有被预定义,需要用户自定义标签。

xml文档必须包含根元素,它是其他所有元素的父元素,比如这样的结构:

<root>
<child>
<subchild>.....</subchild>
</child>
</root>

root就是根元素

实体

在xml中不要使用字符"<"、">"….应该用实体引用来替代

&lt; <
$gt; >
&amp; &
&apos;   '
&quot;   "

在 XML 中,只有字符 "<" 和 "&" 确实是非法的。大于号是合法的,但是用实体引用来代替它是一个好习惯。

注释:和html一样,都是<!--  …   -->

命名的禁忌:

避免使用" –  "字符,比如"a-b";避免使用 "   :   ",比如" a.b ";避免使用" :  "

XMLHttpRequest对象用于在后台与服务器交换数据

有了XMLHttpRequest,用户能:

  • 在不重新加载页面的情况下更新网页

  • 在页面已加载后从服务器请求数据
  • 在页面已加载后从服务器接收数据
  • 在后台向服务器发送数据

创建方法:

xmlhttp=new XMLHttpRequest();

较为简单的代码示例:

function createXmlHttpRequest(){

if(window.ActiveXObject){ //如果是IE

return new ActiveXObject("Microsoft.XMLHTTP");

}else if(window.XMLHttpRequest){ //非IE

return new XMLHttpRequest();

}

}    

较为复杂的代码示例:

function  createXmlHttpRequest(){

if(typeof  XMLHttpRequest!=”underfined”) {

return  new  XMLHttpRequest();

}     //for  IE7+  Firefox opera  chrome  safari

else if(typeof  ActiveXObject!=”underfined”) {      //for IE6-

if(typeof  arguments.callee.activeXString != “string”) {

var  version =  ["MSXML2.XMLHttp.6.0","MSXML2.XMLHttp.3.0","MSXMLHttp"], i  ,len;

for ( i=0,len=version.length;i<len;i++) {

try {

new  ActiveXobject(versions[i]);

arguments.callee.activeXString=version[i];

break;

} catch(ex)       {

alert("please  update your IE");

}

}

}

}

return arguments.callee.activeXString;

}  else  {

throw  new  Error("XHR对象不可用");

}

}

创建完接口方法之后创建对象:

var  xmlhttp=createXmlHttpRequest();

状态判定:

function  callback(){

switch(xmlhttp.readyState)  {

case 0:

alert("请求未初始化");  break;

case  1:

alert("请求启动但是尚未发送");  break;

case 2:

alert("请求发送,尚未得到响应");  break;

case 3:

alert("请求开始响应,收到部分数据");  break;

case 4:

alert("请求响应完成,收到全部数据");          //交互完成

if((xmlhttp.status>=200  &&  xmlhttp.status <300) || xml.status==304)

{

var  data=xmlhttp.responseText;

}  else  {

alert(“request  was successfully”+xmlhttp.status+xmlhttp.statusText);

}

break;

}

};

GET请求:

xmlhttp=createXmlHttpRequest();

var  url="getsomething.jsp?id" +id;

xmlhttp.open("GET",url,true);    //选项为“true”,异步处理

xmlhttp.onreadystatechange=callback;     //回调函数

xmlHttp.setRequestHeader("Content-Type",

"application/x-www-form-urlencoded;");     //针对不支持FormData的浏览器的处理

xmlHttp.send();

POST请求:

var url = "posturl";

xmlHttp.open("POST", url, true);          //选项为“true”,异步处理

xmlHttp.onreadystatechange = callback;  //回调函数

xmlHttp.setRequestHeader("Content-Type",

"application/x-www-form-urlencoded;");      //针对不支持FormData的浏览器的处理

xmlHttp.send(xmlfile);

或者:

var  data={ID: "123",name:"jack"};

xmlHttp.open("POST", "filename", true);          //选项为“true”,异步处理

xmlHttp.onreadystatechange = callback;  //回调函数

if(typeof FormData == "underfined") {

xmlHttp.setRequestHeader("Content-Type",

"application/x-www-form-urlencoded;");      //针对不支持FormData的浏览器的处理

}

xmlHttp.send(post(data));

open函数中的True 表示脚本会在 send() 方法之后继续执行,而不等待来自服务器的响应。如果设置为 "false",可以省去额外的 onreadystatechange 代码。如果在请求失败时是否执行其余的代码无关紧要,那么可以使用这个参数。

在没有得到服务器响应的情况下,防止代码停止的最安全的方法就是设置onreadystatechange事件

Technorati Tags: xml

参考:https://www.cnblogs.com/yuanke/p/4998516.html

XML学习(1)的更多相关文章

  1. XML 学习介绍 收藏

    XML学习总结(一)——XML介绍 一.XML概念 Extensible Markup Language,翻译过来为可扩展标记语言.Xml技术是w3c组织发布的,目前推荐遵循的是W3C组织于2000发 ...

  2. XML学习笔记

    XML学习笔记 第一部分:XML简介 我们经常可以听到XML.HTML.XHTML这些语言,后两者比较清楚,一直不是很明白XML是什么,这里做一个总结. XML(eXtensible Markup L ...

  3. SQL SERVER XML 学习总结

    SQL  SERVER  XML  学习总结 最新的项目任务要做一个数据同步的功能,这些天都在做技术准备,主要是用到了微软的Service Broker技术,在熟悉使用该技术的同时,又用到了Sql s ...

  4. XML学习笔记(2)--dom4j操作XML

    1. 介绍(四种方式的比较这部分转载自:http://www.blogjava.net/xcp/archive/2010/02/12/312617.html) 1)DOM(JAXP Crimson解析 ...

  5. XML学习笔记(1)--XML概述

    XML基本概念 XML—extensible Markup Language(可扩展标记语言) XML最基本的三个概念 1)XML语言---描述事物本身(可扩展) 2)XSL语言---展现事物表现形式 ...

  6. XML学习总结(二)——XML入门

    XML学习总结(二)——XML入门 一.XML语法学习 学习XML语法的目的就是编写XML 一个XML文件分为如下几部分内容: 文档声明 元素 属性 注释 CDATA区 .特殊字符 处理指令(proc ...

  7. XML学习教程

    XML学习进阶1-- 什么是XML. 为什么使用 XML?... 什么是 XML?... 数据的结构表示... XML 文档... 数据是从表示和处理中分离出来的... 使XML数据自描述... XM ...

  8. Robot framework--内置库xml学习(一)

    Using lxml By default this library uses Python's standard ElementTree module for parsing XML, but it ...

  9. Java第三阶段学习(十、XML学习)

    一.XML学习 1.模拟Servlet执行 在学习完前端及java与数据库后,将进行WEB编程阶段的学习.在WEB编程中,可以通过浏览器访问WEB服务器上的数据.这时WEB服务器就相当于另一台计算机. ...

  10. [python xml 学习篇][0]

    tree = ET.parse("Result.xml")root = tree.getroot()print type(root)print root.tag # 得到root ...

随机推荐

  1. VS提示“无法启动IIS Express Web服务器”的解决方法

    有时在使用Visual Studio运行项目时,会提示“无法启动IIS Express Web服务器”,如图: 可以依次尝试以下方法(我的情况使用第一种就解决了): 1.可能原因:误操作执行了:Sc ...

  2. cxgrid中,如何根据列名或字段名取得footer值

    注意,不是根据index取得footer值cxgrdtbv1.DataController.Summary.FooterSummaryValues[0]; ------解决方案------------ ...

  3. .net对Redis集群的调用(FrameWork版本4.0)

    使用 StackExchange.Redis 实现.net对Redis集群的调用,方法如下: 1.打开 项目-管理NuGet程序包 2.在打开界面搜索StackExchange.Redis,找到Sta ...

  4. Eclipse报错Project configuration is not up-to-date with pom.xml

    1.问题 Description Resource Path Location Type Project configuration is not up-to-date with pom.xml. S ...

  5. Js数组和字符串常用方法

    字符串: 1.concat() – 将两个或多个字符的文本组合起来,返回一个新的字符串.  2.indexOf() – 返回字符串中一个子串第一处出现的索引.如果没有匹配项,返回 -1 .  3.ch ...

  6. CentOS 7 上安装(LAMP)服务 Linux,Apache,MySQL,PHP

    介绍 LAMP 是现在非常流行的 WEB 环境, 是 Linux,Apache,MySQL,PHP 的缩写.数据存储在 MySQL 中,动态内容由 PHP 处理. 在本指南中,我们将演示如何在 Cen ...

  7. Python学习---日期时间

    在Python里面日期时间的功能主要由几个模块提供:time,calendar,datetime,date等 time主要用到的功能函数: #!/usr/bin/python3 # coding:ut ...

  8. C++模式学习------策略模式

    当遇到同一个对象有不同的行为,方法,为管理这些方法可使用策略模式. 策略模式就是对算法进行包装,是把使用算法的责任和算法本身分割开来.通常把一个系列的算法包装到一系列的策略类里面,这些类继承一个抽象的 ...

  9. P3919 【模板】可持久化数组(可持久化线段树/平衡树)

    题目描述 如题,你需要维护这样的一个长度为 N  的数组,支持如下几种操作 在某个历史版本上修改某一个位置上的值 访问某个历史版本上的某一位置的值 此外,每进行一次操作(对于操作2,即为生成一个完全一 ...

  10. Luogu 3385 负环 | 我有特别的SPFA技巧

    这样似乎跑得快: 初始化所有的dis是0,然后枚举每个点作为起点,用DFS更新所有点的dis: 如果更新到一个栈中节点,那么有负环. #include <cstdio> #include ...