新手学ajax1
以下代码可以实现js向服务器发出一 request服务器响应一个文本或者XML js接受并且向叶面输出,html页面很简单三个标签,俩链接,另外一个负责显示接受的数据,另外患有俩一个是txt文本,一个是XML格式的文件内涵choices标签
html
<!DOCTYPE html>
<html>
<head>
<title>readFromServer.html</title>
<meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
<meta http-equiv="description" content="this is my page">
<meta http-equiv="content-type" content="text/html; charset=UTF-8">
<!--<link rel="stylesheet" type="text/css" href="./styles.css">-->
<script type="text/javascript" src="readFromServer.js"></script>
</head>
<body> <a id="makeTextRequest" href="gAddress.txt">请求文本</a>
<a id="makeXMLRequest" href="us_states.xml">请求XML文件</a>
<div id="updateArea"> </div> </body>
</html>
js
alert("start");
window.onload=initAll;
var xhr=false;//全局变量,在后面的真正使用时是接受的数据,这里bool型没什么用
function initAll(){
document.getElementById("makeTextRequest").onclick=getNewFile;///该函数的返回值为false表示最后点击链接后不跳转页面,当然前提是返回语句以及返回语句之前的代码都是正确的
document.getElementById("makeXMLRequest").onclick=getNewFile;
} function getNewFile(){
alert(this.href);
makeRequest(this.href);//将所点击的链接的地址获取到
return false;//不加载新页面 前提是这句语句以前的没有错误 否侧依然跳转
}
function makeRequest(url){
if(window.XMLHttpRequest){//该对象存在表示当前浏览器是firefox,opera,safiar,IE7.0,IE8.0中的一个都有这个对象
xhr=new XMLHttpRequest(); }
else{
if(window.ActiveXObject){//IE6.0,5.5中存在的是该对象
try{
xhr=new ActiveXObject("microsoft.XMLHTTP");
}
catch(e){}
}
}
alert(xhr);
if(xhr){//如果获得了xml对象
alert("getxhr");
xhr.onreadystatechange=showContents;
xhr.open("GET", url,true);//请求的方法(get post head) 文件的地址 请求是否异步也就是我们是否会等到请求完成
xhr.send(null);
}
else{
document.getElementById("updateArea").innerHTML="抱歉,我不能创建XML请求";
}
}
function showContents(){
alert(xhr.readyState);
if(xhr.readyState==){//响应已经完全被接受
alert(xhr.status);
if(xhr.status==){//200 表示请求的文件存在 404表示文件不存在
//alert(xhr.responseXML+".........."+xhr.responseXML.contentType);
if(xhr.responseXML&&xhr.responseXML.contentType=="application/xml"){
alert("XML");
var outMsg=xhr.responseXML.getElementsByTagName("choices")[].textContent;
}
else{
alert("text");
var outMsg=xhr.responseText;
}
}
else{
var outMsg="请求出现问题"+xhr.status;
}
document.getElementById("updateArea").innerHTML=outMsg;
}
}
新手学ajax1的更多相关文章
- [ZZ]新手学 appium-合集第一季度
原文地址: https://testerhome.com/topics/2599 新手学appium-合集第一季度地址如下: 1.新手学 appium-GUI 端搞起来:http://testerho ...
- 新手学Java,有哪些入门知识点?
很多小伙伴们在刚接触Java的时候,会有些迷茫,不知道该从哪里入手,不管是做前端还是后端,程序员都会用到JAVA,那该掌握哪些必要的基础知识呢.今天就跟大家分享新手学Java,有哪些入门知识点? 下面 ...
- 新手学js的效果图1---( 淘宝等商城货物查看特效)
本人结合之前所学一起写了,多个特效,只是新手自己瞎鼓捣的,思路清晰,具体实现的货物放大镜等,替换当中的img地址就可以查看特效 <!DOCTYPE html> <html lang= ...
- 新手学逆向,调试abexcm1过程
写在前面的话:在下完全就是一个新手,现在目前在学16位汇编,偶尔用OD调试看看程序,主要就是为了学习,今天写这个帖子,完全就是笔记用,然后拿出来和大家一起讨论交流. 因为刚开始接触,文章可能一些地方有 ...
- 【新手学Python】一、基础篇
由于以前处理数据用Matlab和C,最近要处理大量文本文件,用C写实在是太繁琐,鉴于Python的强大文本处理能力,以及其在Deep Learning上有着很大优势,本人打算从即日起学习Python, ...
- 新手学Android
Eclipse平台下的新手Android学习记录. 1.打开一个本地的项目 在Project Explorer右键->Import->Existing Projects into Work ...
- 新手学vim配置
我是新手啦,以前都没接触过Vim编辑器,所以感觉不怎么顺手,毕竟还没有用习惯.也没有什么基础,所以在配置的时候就一直在网上查资料....想要把vim编辑器配置成VS的话可以参考这个:http://ww ...
- 新手学Unity3d的一些网站及相应学习路线
一.unity3d有什么优势 如果您对开发游戏感兴趣,而又没有决定选择哪一个游戏引擎,别犹豫了 unity3d是一个很好的选择! 就我来看unity3d优势主要有以下几方面:首先部署简单,自带了一个I ...
- 新手学python(1):解析XML与系统调用
最近需要做一个项目,完成一批音乐的格式转换.由于之前并未学习过python,所以想借此机会学一下.在介绍自己的学习过程之前,先把项目简要描述一下.目前在一台服务器a上有几十万首原始的MP3音乐文件,现 ...
随机推荐
- Python 包、模块、函数、变量作用域
Python 项目的组织结构 - 包 -- 模块 --- 类 ---- 函数.变量 Python是利用包和模块来组织一个项目的. 包: 包的物理表现是一个文件夹,但是一个文件夹却不一定是个包, ...
- 外部容器出现塌陷现象(伪类after、before的使用)
伪类after.before的使用 ::before//伪元素 :hover//伪类 #all::after{ display:table; clear:both; content:"&qu ...
- go语言笔记(一)
packge main import "fmt" func main(){ fmt.println("hello") } 大括号约定 方法名首字母区分方法类型, ...
- 2017-2018-1 20155313 《信息安全系统设计基础》 Myod
2017-2018-1 20155313 <信息安全系统设计基础> Myod Myod要求 1.复习c文件处理内容 2.编写myod.c 用myod XXX实现Linux下od -tx - ...
- 13-[函数进阶]-列表生成式,生成器&迭代器
1.列表生成式 Python一种独特的语法,相当于语法糖的存在,可以帮你在某些场合写出比较精简酷炫的代码.但没有它,也不会有太多的影响. 语法糖(Syntactic sugar),也译为糖衣语法,是由 ...
- 关于js中直接获取后台的值,直接弹窗获取到的值
js里获取后台的值,以前我都是后台通过jsp中的<input>EL表达式: 后台代码把传向页面的值放入request:request.setAttribute("Success& ...
- cvc-complex-type.2.4.a: Invalid content was found starting with element 'display-name'
cvc-complex-type.2.4.a: Invalid content was found starting with element 'display-name'. One of '{&qu ...
- 【JUC源码解析】DelayQueue
简介 基于优先级队列,以过期时间作为排序的基准,剩余时间最少的元素排在队首.只有过期的元素才能出队,在此之前,线程等待. 源码解析 属性 private final transient Reentra ...
- Win10版本号区分
版本号 内部版本号 UniversalApiContract 首个正式版 1507 10240 1 首个重大更新 1511 10586 2 一周年更新 Anniversary Update ...
- centos 7 lsof 安装使用
lsof(list open files)是一个列出当前系统打开文件的工具.在linux环境下,任何事物都以文件的形式存在,通过文件不仅仅可以访问常规数据,还可以访问网络连接和硬件.所以,lsof的功 ...