新手学ajax1

学习的动力是最近想实现servlet向js传值,是html中的js,因为jsp是可以直接调用java 类的,在网上搜索了好久感觉ajax能帮我实现。

以下代码可以实现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">&nbsp;</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==4){//响应已经完全被接受
        alert(xhr.status);
        if(xhr.status==200){//200 表示请求的文件存在 404表示文件不存在
            //alert(xhr.responseXML+".........."+xhr.responseXML.contentType);
            if(xhr.responseXML&&xhr.responseXML.contentType=="application/xml"){
                alert("XML");
                var outMsg=xhr.responseXML.getElementsByTagName("choices")[0].textContent;
            }
            else{
                alert("text");
                var outMsg=xhr.responseText;
            }
        }
        else{
            var outMsg="请求出现问题"+xhr.status;
        }
        document.getElementById("updateArea").innerHTML=outMsg;
    }
}

时间: 2024-12-16 02:08:49

新手学ajax1的相关文章

[ZZ]新手学 appium-合集第一季度

原文地址: https://testerhome.com/topics/2599 新手学appium-合集第一季度地址如下: 1.新手学 appium-GUI 端搞起来:http://testerhome.com/topics/2592 2.新手学 appium-Appium for Windows 说明 (中文翻译):http://testerhome.com/topics/2594 3.新手学 appium-python unittest 框架:http://testerhome.com/t

新手学SQL Server pdf

下载地址:网盘下载 内容简介 编辑 <新手学SQL Server>:打开SQL Server数据库技术大门的金钥匙  ◎由浅入深:从基本概念开始讲解,逐步深入到实际开发  ◎示例丰富:讲解知识点时穿插了150个示例,有较强的实用性  ◎面向就业:提供了常见面试题,帮助读者了解入职面试的相关知识  ◎应用典型:介绍了3个方向的数据库应用,提高读者数据库应用水平  ◎视频教学:提供了6小时多媒体教学视频,学习起来更加直观  光盘内容  ◎6小时多媒体教学视频  ◎案例涉及的源代码  ◎教学PPT 

【新手学Python】一、基础篇

由于以前处理数据用Matlab和C,最近要处理大量文本文件,用C写实在是太繁琐,鉴于Python的强大文本处理能力,以及其在Deep Learning上有着很大优势,本人打算从即日起学习Python,谨以此系列博客记录学习点滴.文中如有错误,还望大牛们指出! Section 1: 本文是第一篇,当然也是基础,有了编程基础的我们都知道,学习一门语言什么最重要?当然先搞清楚数据类型和数据结构,有了这些,你才能去谈面向对象,才能去设计程序. Python的数据类型比较简单:1.整数;2.长整数;3.浮

新手学JAVA(三)----StringBuilder类

上一篇文章新手学JAVA(二)----String类与StringBuffer类的区别中了解到,String的值是不可变的,这就导致 每次对String的操作都会生成新的String对象,不仅效率低下,而且大量浪费有限的内存空间,StringBuffer是可变 类,和线程安全的字符串操作类,任何对它指向的字符串的操作都不会产生新的对象. StringBuffer类和StringBuilder类功能基本相似.算是两个双胞胎. 下面主要说两点 第一点  线程安全 StringBuffer  线程安全

新手学云计算困难吗?那你要先了解云计算

不是×××老师絮叨,有很多朋友,什么热门学什么,什么高薪学什么,却不懂得兴趣才是好老师的道理--这不,近来云计算火了,又有好多朋友来咨询云计算了--当然来说,云计算确实前途远大,但是也不意味着就适合所有人学习.×××老师一向讲究为学生负责,如果实际上对云计算兴味寥寥,那么强行学习,反而耽搁功夫.因此×××老师决定为新手学云计算,先做一番简单的介绍. 云计算是指将流程和数据从您面前的设备(台式机,电话等)转移到互联网上,并存储在远程服务器中并根据需要使用."云"是指所有这些数据/服务现在

【经验分享】新手学Java编程语言怎么入门?

新手学Java编程语言怎么入门?掌握语言基础是第一步,了解java基础知识,Java关键字.核心概念或者基本编码技术.掌握操作符.控制执行流程.访问权限控制.复用类.多态.接口.字符串.泛型.数组.容器深入研究.JavaI/O系统.枚举类型.并发以及图形化用户界面等内容. 为了帮助大家更轻松的学好java开发,给大家分享一套java开发学习资料,小编推荐一个学java开发技术的学习裙:三七四三二零二八二,无论你是大牛还是小白,是想转行还是想入行都可以来了解一起进步一起学习!裙内有开发工具,很多干

新手学js的效果图1---( 淘宝等商城货物查看特效)

本人结合之前所学一起写了,多个特效,只是新手自己瞎鼓捣的,思路清晰,具体实现的货物放大镜等,替换当中的img地址就可以查看特效 1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>卖娃娃</title> 6 <style> 7 #big{width:420px;height:3

新手学EasyUi+JS----ComboBox 级联

最近在做一个EasyUi ComboBox的级别联动的效果,相关的内容如下: EasyUI刚接触,JS之前学过,不过在怎么用这方面自己还是个新手,不过现在还在不断的学习,实践出真知,这是硬道理,直接上代码: 前台的HTML代码: <span>学院:</span><input id="College" class="easyui-combobox" name="DropDownList_Course" style=&q

新手学web前端应该学什么?

随着互联网的发展速度迅猛,web前端工程师越来越火热,想学习Web前端开发吗 ? 若想成为web前端工程师需要掌握哪些知识?今天小编总结了成为web前端工程师需要掌握的所有知识. 一.基础 1.H5标签 1.1.H5引进的一些新的标签,需要注意article.header.footer.aside.nav以及HTML的标题结构 1.2.理解浏览器解析HTML的过程,理解DOM的树形结构,及相应API 1.3.理解HTML标签在各个浏览器上的默认样式(代理样式),理解CSS中的重置样式表的概念 1