精华内容
下载资源
问答
  • 省事联动测试select{width:100px;}var thisId = "";... //ajax 对象全局变量,function getAjaxObject()//AJAX 1号线,返回一个AJAX 对象引擎{var xmlObject ;if(window.ActiveXObject){xmlObject = new ActiveX...
    省事联动测试

    select{

    width:100px;

    }

    var thisId = ""; //当前操作的selectI的D

    var xmlObject; //ajax 对象全局变量,

    function getAjaxObject()//AJAX 1号线,返回一个AJAX 对象引擎

    {

    var xmlObject ;

    if(window.ActiveXObject)

    {

    xmlObject = new ActiveXObject("Microsoft.XMLHTTP");

    }

    else

    {

    xmlObject = new XMLHttpRequest();

    }

    return xmlObject ;

    }

    function ajaxCall(id) //ajax 二号线 ,这里采用 post 传递参数

    {

    xmlObject = new getAjaxObject();

    if(xmlObject)

    {

    var url = "chuli.php";

    var data = "id=" + id;

    xmlObject.open("post",url,true);

    xmlObject.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

    xmlObject.onreadystatechange = repayFuncion;

    xmlObject.send(data);

    }

    }

    function repayFuncion() //ajax 四号线 ,这里采用 xml 接受数据,这里还涉及到xmldom编程

    {

    if(xmlObject.readyState==4 && xmlObject.status==200)

    {

    var info = getXMLData("res");//获取XML数据

    $(thisId).length = 0;//清楚select 中的option节点

    for(i=0;i

    {

    var optionId = info[i].childNodes[0].childNodes[0].nodeValue;

    var optionValue = info[i].childNodes[1].childNodes[0].nodeValue;

    var optionNode = document.createElement('option');

    optionNode.value = optionId;

    optionNode.innerText =optionValue;

    $(thisId).appendChild(optionNode);

    }

    }

    }

    function getXMLData(tagName)//获取XML数据,分IE和非IE处理

    {

    var info;

    if(window.ActiveXObject) //IE取回XML文件方法

    {

    var doc = new ActiveXObject("MSxml2.DOMDocument");

    doc.loadXML(xmlObject.responseText);

    info = doc.getElementsByTagName(tagName);

    }

    else //---------------------------非IE取回XML文件方法

    {

    info = xmlObject.responseXML.getElementsByTagName(tagName);

    }

    return info;

    }

    function $(id)//常用函数,通过ID取对象

    {

    return document.getElementById(id);

    }

    function getProvice()//获取省

    {

    thisId = "Province";

    var id = '1';

    ajaxCall(id);

    }

    function getCity()//获取市

    {

    thisId = "City";

    $("County").length = 0;

    var id = $("Province").value;

    ajaxCall(id);

    }

    function getCounty()//获取县城

    {

    thisId = "County";

    var id = $("City").value;

    if($("City").length)

    {

    ajaxCall(id);

    }

    }

    window.onlaod = getProvice();//页面开始载入省

    用户名:

    密  码:

    地  址:

    展开全文
  • HTML/Ajax/XML数据交互:HTML通过Ajax读取XML的存储信息

    千次阅读 热门讨论 2016-01-19 16:58:59
    介绍: HTML/Ajax/XML数据交互:HTML通过Ajax读取XML的存储信息

        介绍:

        上一篇Ajax文章中对Ajax的XHR对象作出了介绍,这篇博客介绍下如果使用Ajax从服务端获取数据。之前分析



    过,Ajax是向服务端请求服务的,说白了就是想数据库中进行信息验证或取存。本篇博客没有使用数据库而是采用了



    XML存储数据,这样大家看的也清楚。能明白来龙去脉。



    分析实现过程:



        需要的文件:HTML页面、【.js】文件、【.XML】文件。



        实现的思路:



            首先在HTML设置好提交事件,并且设置一个div(或其它)容器,准备接受数据;



            其次是在js文件中写好使用Ajax的五个步骤,(将open方法的URL地址改成项目中Xml文件所在的地址)。



            最后使用Xml语言写入一些存储的数据,方便查询。


                                   

        代码:



        HTML:

    <span style="font-family:SimSun;font-size:18px;"><html xmlns="http://www.w3.org/1999/xhtml">
    <head runat="server">
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
        <script src="ReadXmk.js"></script>
        <title>Ajax/XML</title>
    </head>
    <body>
        <form id="form1" runat="server">
        
        <div id="CDShow">       
        <button οnclick="loadXMLDoc('XMLFile1.xml')">获取详细信息</button>
        </div>
        </form>
    </body>
    </html>
    </span>


         JavaScript(Ajax):


    <span style="font-family:SimSun;font-size:18px;">function loadXMLDoc(url)
    {
        //alert(url);
        var xmlhttp;
        var txt, x, xx, i;
        //创建Ajax对象。解决不同浏览器兼容问题
        if (window.XMLHttpRequest)
        {// code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp = new XMLHttpRequest();
        }
        else
        {// code for IE6, IE5
            xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
        }
        //alert(1);
        //响应服务
        xmlhttp.onreadystatechange = function () {
               //4表示请求处理中;200表示处理OK;
            if (xmlhttp.readyState == 4 && xmlhttp.status == 200) {
                //拼接table 表格
                //创建table,表头为title 和artist和county
                txt = "<table border='1'><tr><th>Title</th><th>Artist</th><th>County</th></tr>";
                //从xml中获取CD标签里的内容
                x = xmlhttp.responseXML.documentElement.getElementsByTagName("CD");
                for (i = 0; i < x.length; i++) {
                    //添加新的一行,标签内容为Title
                    txt = txt + "<tr>";
                    xx = x[i].getElementsByTagName("TITLE");
      
                    {
                        try {
                            txt = txt + "<td>" + xx[0].firstChild.nodeValue + "</td>";
                        }
                        catch (er) {
                            txt = txt + "<td> </td>";
                        }
                    }
                    xx = x[i].getElementsByTagName("COUNTRY");
                    {
                        try {
                            txt = txt + "<td>" + xx[0].firstChild.nodeValue + "</td>";
                        }
                        catch (er) {
                            txt = txt + "<td> </td>";
                        }
                    }
                    xx = x[i].getElementsByTagName("ARTIST");
                    {
                        try {
                            txt = txt + "<td>" + xx[0].firstChild.nodeValue + "</td>";
                        }
                        catch (er) {
                            txt = txt + "<td> </td>";
                        }
                    }
                    txt = txt + "</tr>";
                }
                //完成table表格拼接
                txt = txt + "</table>";
                //将table插入
                document.getElementById('CDShow').innerHTML = txt;
            }
        }
        //xmlhttprequest 的方法 open 和send
        xmlhttp.open("GET", url, true);
        xmlhttp.send();
        alert("加载完成!");
    }</span>


         XML:


    <span style="font-family:SimSun;font-size:18px;"><CATALOG>
      <CD>
        <TITLE>Empire Burlesque</TITLE>
        <ARTIST>Bob Dylan</ARTIST>
        <COUNTRY>USA</COUNTRY>
        <COMPANY>Columbia</COMPANY>
        <PRICE>10.90</PRICE>
        <YEAR>1985</YEAR>
      </CD>
      <CD>
        <TITLE>Hide your heart</TITLE>
        <ARTIST>Bonnie Tyler</ARTIST>
        <COUNTRY>UK</COUNTRY>
        <COMPANY>CBS Records</COMPANY>
        <PRICE>9.90</PRICE>
        <YEAR>1988</YEAR>
      </CD>
      <CD>...</CD>
      <CD>...</CD>
      ...
      <CATALOG/></span>


          效果:





          触发单击事件后:





        学习资料:JavaScript入门经典 



                  W3C教程



        总结:



            Ajax中的onReadyStateChange被回调函数赋值,这是实现异步调用的关键点,另外回调函数直接操作DOM,



    所以才能实现局部的刷新,而不是整个页面的刷新。



            学习还很单纯,有说的不对的,请指出,谢谢!!!

         

    展开全文
  • //自己封装的ajax请求 第一个参数为url,第二个为传送参数,第三个是回调函数  }   后台action.java代码接收xml文件 代码如下  引入的包如下 import org.w3c.dom.Document; import org.w3c.dom....

    红色字体为主要代码

    jsp页面中

    <script language="javascript">

    function  updateDB(operate){
      var objDom=new ActiveXObject("msxml.DomDocument");
       var objRoot=objDom.createElement("All");
       objDom.appendChild(objRoot);
      
      var k=document.getElementsByName("check"); //选择框
     
      for(var i=0;i<k.length;i++){
              if(k[i].checked){     //将选择的数据组合成xml格式的数据
              var currentRow=k[i].parentNode.parentNode;
             
              var obj=objDom.createElement("Good");
              objRoot.appendChild(obj); 
               
       var objNode=objDom.createElement("xl_id");
        
           objNode.text=k[i].value;
           obj.appendChild(objNode);
          
       objNode=objDom.createElement("xqnum");
         objNode.text=currentRow.cells[5].childNodes[0].value;
         obj.appendChild(objNode);
        
       objNode=objDom.createElement("desc");
        objNode.text=currentRow.cells[7].childNodes[0].value;
        obj.appendChild(objNode);
                     
                }
       }
       ajaxSendPost("qgApplyAction.do?method="+operate.name,objDom,null);//自己封装的ajax请求 第一个参数为url,第二个为传送参数,第三个是回调函数
      }
    </script>

     

    后台action.java代码接收xml文件 代码如下

     引入的包如下

    import org.w3c.dom.Document;
    import org.w3c.dom.NodeList;
    import org.xml.sax.SAXException;
    import javax.xml.parsers.DocumentBuilderFactory;
    import javax.xml.parsers.ParserConfigurationException;

    action中的方法

     

     public ActionForward updateApplyDetail(ActionMapping mapping, ActionForm form,
       HttpServletRequest request, HttpServletResponse response) {
      // TODO Auto-generated method stub
      List<QGGoodBean> goods=new ArrayList<QGGoodBean>();
      String xml =readXMLFromResQuestBody(request);
      Document xmlDoc=null;
        try {
         //用字符串生成内存流,再用内存流生成Document对象。Document的parse方法需要流做为参数
         try {
       xmlDoc = DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new ByteArrayInputStream(xml.getBytes("utf-8")));
      } catch (IOException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
      }
        } catch (SAXException e) {
         e.printStackTrace();
        } catch (ParserConfigurationException e) {
         e.printStackTrace();
        }
       //得到所有type元素
        NodeList selectedPetTypes = xmlDoc.getElementsByTagName("Good");
        for(int i=0;i<selectedPetTypes.getLength();i++){
         //selectedPetTypes.item(i)得到Node对象
         //selectedPetTypes.item(i).getChildNodes()得到Good的子节点的值
         QGGoodBean qgGood=new QGGoodBean();
         qgGood.setX_id(selectedPetTypes.item(i).getChildNodes().item(0).getTextContent());
         qgGood.setAmount(selectedPetTypes.item(i).getChildNodes().item(1).getTextContent());
         qgGood.setRequireDesc(selectedPetTypes.item(i).getChildNodes().item(2).getTextContent());
         goods.add(qgGood);
        }
        response.setContentType("text/xml");
        PrintWriter out;
      try {
        out = response.getWriter();
         out.print("aa");
      } catch (IOException e) {
       // TODO Auto-generated catch block
       e.printStackTrace();
      }

          return null;
     }

     private String readXMLFromResQuestBody(HttpServletRequest request){
        StringBuffer xml = new StringBuffer();
        String line = null;
        try{
         BufferedReader reader = request.getReader();
         while((line=reader.readLine())!=null){
          xml.append(line);
         }
        }catch(Exception e){
         System.out.println("Error reading XML:"+e.toString());
        }
        return xml.toString();
       }

     

    展开全文
  • Ajax处理XML数据演示

    2017-08-28 15:21:07
    Ajax处理XML数据演示从网页中发送一个XML格式的数据,到后台解析出来,将结果转换成XML格式发送回去,交给前台解析

    Ajax处理XML数据演示

    从网页中发送一个XML格式的数据,到后台解析出来,将结果转换成XML格式发送回去,交给前台解析
    这里演示为传Name,和Age
    这里写图片描述

    在JS中写函数:

    导入核心标签库

    <%@ taglib uri="http://java.sun.com/jsp/jstl/core" prefix="c"%>

    函数为:

    <script type="text/javascript">
            function send(){//采用post发送XML数据
                //Ajax对象xhr
                var xhr = null;
                if(window.XMLHttpRequest){//高版本IE
                    xhr=new XMLHttpRequest();
                }else{//低版本
                    xhr= new ActiveXObjct("Microsoft.XMLHttp");
                }
                //请求后台
                var url="<c:url value='/XmlServlet'/>";
    
                xhr.open("post", url, "true");//异步
                xhr.onreadystatechange =function(){
                    if(xhr.readyState==4){//返回
                        if(xhr.status==200){//正常响应
                            //var res = xhr.responseText;
                            //alert(res);这里是没有解析的
                            //解析后台发来的XML格式的数据
                            var xmlDomObj = xhr.responseXML;//对应servlet的响应格式
                            //使用前端的dom模型(DHTML)来解析
                            var users = xmlDomObj.getElementsByTagName("user");
                            for(var i=0;i<users.length;i++){
                                var id =users[i].getAttribute("id");
                                var nm =users[i].childNodes[0].firstChild.data;
                                var age =users[i].childNodes[1].firstChild.data;
                            alert(id+","+nm+","+age);
                            }
                        }
                    }
                };
                //把页面提交的数据封装成xml格式上传
                var name = document.getElementById("nm").value;
                var age = document.getElementById("ag").value;
                //校验省略
                var xml="<user> <name>"+name+"</name>  <age>"+age+"</age>  </user>" ;//根
                xhr.send(xml);
            }
    </script>

    前端处理完毕后,发送到XmlServlet:

    在POST中处理:
    可以用@WebService的方式,不配置web.xml建立Servlet

    //接受前端发来的XML数据,并解析
            request.setCharacterEncoding("utf-8");
            InputStream in = request.getInputStream();
            BufferedReader br = new BufferedReader(new InputStreamReader(in));
            String line = null;
            String xml = "";
            while( (line=br.readLine())!=null ){
                xml=xml+line ;
    
            }
            System.out.println(xml);
            //解析XML--dom4j包
            SAXReader sax = new SAXReader();
            try {
                Document dom = sax.read(new StringReader(xml));//内存流
                Element root = dom.getRootElement();
                String name = root.elementText("name");
                String age = root.elementText("age");
                System.out.println("name="+name+","+"age="+age);
            } catch (DocumentException e) {
                e.printStackTrace();
            }
            ///向前端ajax发送XML格式的数据/
            //一般是List<User>数据,且来自dao查询
            List<User> users = new ArrayList<User>();
            users.add(new User("U001","Jack","20"));
            users.add(new User("U002","张三","30"));
            //转换格式
            String res = "<users>";
            for(User u : users){
                res+="<user id=\"" + u.getId()+"\"><name>"+u.getName()+"</name><age>"+
                           u.getAge()+"</age></user>";
            }
            res+="</users>";
            //一定要设置XML的响应格式
            response.setContentType("text/xml;charset=utf-8");

    这里麻烦在于要自己手动写XML,然后发送到前端解析

    所用到的domain:值对象
    这里写图片描述

    展开全文
  • AjaxXML

    千次阅读 2018-08-20 20:16:01
    Ajax请求后台返回数据时,都是简单的字符串或数字; 如果后台有大量数据要返回,我们应该怎么办? 目前有两种技术方案: 1:将数据打包成 XML 的格式进行传输 2:将数据打包成 json 的格式进行传输 XML基本语法...
  • AJAX使用post发送数据xml格式接受数据,需要的朋友可以参考一下
  • Ajax获取XML格式的数据

    2016-11-11 22:07:26
    XML格式数据的解析优点: XML是一种通用的数据格式。 不必把数据强加到已定义好的格式中,二是要为数据...当浏览器接受到长的XML文件后, DOM解析可能会很复杂。 解析XML代码如下:1、xml文件(文件名为:test.xml
  • AjaxXML的通信

    2010-08-30 10:09:00
    AJAX XML 实例 在下面的 AJAX 实例中,我们将演示如何通过使用 AJAX 技术,从 XML 文件中读取信息。在下面的下列列表中选择一个 CD选择 CD: Bob DylanBonnie TylerDolly PartonTITLE: Greatest Hits ...
  • 请求xml数据的时候需要在浏览器端用 ajax.responseXML属性去接受。 php服务器端需要设置 header为 xml的类型 浏览器端处理数据可按照dom的操作去解析xml
  • ajaxxml(1)

    2012-08-05 12:31:57
    转自:...无论考虑转向 XHTML 的网页设计人员、使用 JavaScript 的 Web 程序员、使用部署描述文件和数据绑定的服务器端程序员,还是研究基于 XML 的数据库的后端开发人员,都在使用这种可扩展标
  • 省事联动测试select{width:100px;}var thisId = "";... //ajax 对象全局变量,function getAjaxObject()//AJAX 1号线,返回一个AJAX 对象引擎{var xmlObject ;if(window.ActiveXObject){xmlObject = new ActiveX...
  • php可以接收处理xml信息 javascript也可以接收处理xml信息 开发微信接口,微信里边大部分数据都是通过xml形式给组织起来的 ...客户端(javascript+dom)<-----------ajax<-------------服务器端的xml信息 aja...
  • 我们将之前写的应用使用xml返回数据,下面是如何修改: ...静态页面:ajaxXml.html javascript脚本文件:verifyxml.js AjaxXMLServer.java: import java.io.IOException; import java.io.PrintWriter; import
  • HTML+AJAX+XML实现服务器异步请求

    千次阅读 2009-05-15 16:38:00
    在前面那篇笔记中使用ajax实现了向服务器发送一个input的value然后返回一个结果,这里我们再使用ajax来换取服务器的xml文件信息。 很感谢w3cSchool给出的这么多好东西,然后就是记住ajax必须用到的XMLHttpRequest()...
  • xml文件 dancheng 21 长春 dancheng1 22 白城 dancheng2 23 通榆 JavaScript操作文件: Title
  • ajax接收xml数据(简单的注册案例)

    千次阅读 2013-10-11 15:47:50
    源码: //============================================... ... ...//创建ajax引擎 function getXmlHttpObject(){ var xmlHttpRequest; //不同的浏览器获取对象xmlhttprequest 对象方法不一样 if(window.ActiveXO
  • 一、JavaScript中的XMLXML DOM对象 - IE 浏览器通过 ActiveXObject 对象得到 XML DOM 对象 - 其他浏览器通过 DOMParser 对象得到 XML DOM 对象XML DOM对象的支持 - XML DOM(XML Document Object Model)定义了访问和...
  • ajax是一种创建交互式网页应用的网页开发技术,全称Asynchronous JavaScript and XML,特点是异步请求,局部刷新 ajax的优势: 异步模式,提升了用户的体验。 优化了浏览器和服务器之间的传输,减少了不必要的数据...
  • AJAX大量数据xml格式提交

    千次阅读 2008-03-05 19:00:00
    Ajax的GET和POST的两种提交方法,get主要是少量数据的提交,在这里我谈谈用post方法发送大量数据的过程.此处我将所有内容打包为一个xml文件流,避免了长参数的发送,在服务器端直接载入xml解析,十分方便,数据也没有丢失...
  • 首先,讨论一下HTML页面发送请求到JSP页面并返回XML的情况,请看...() Jsp-pageEncoding表示的是生成XML串并产生响应的JSP页面的编码格式。() setContentType-charset表示的是response响应的编码格式。(默认)表
  • 【原创】AJAX异步JavaScript和XML AJAX,即“AsynchronousJavascript + XML ”(异步JavaScript和XML),是一种创建交互式网页应用的网页开发技术。AJAX不是一种新的语言,它是由其他已有技术组合出的新的方法...
  • Ajax 权衡:XML 的多种风格

    千次阅读 2007-05-09 15:37:00
    Ajax 代表 Asynchronous JavaScript and XML,其思想是:利用具有高可靠性的现代 Web 浏览器,可以在使用 Web 应用程序的同时,通过服务器连接来回传递数据。标准的 Web 技术会沿着链接前进,导致整个页面重新装载,...
  • Servlet与AJAX引擎互发XML并解析
  • 一、JavaScript 解析返回的xml格式的数据: 1、javascript版本的ajax发送请求 (1)、创建XMLHttpRequest对象,这个对象就是ajax请求的核心,是ajax请求和响应的信息载体,单是不同浏览器创建方式不同 (2...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 38,996
精华内容 15,598
关键字:

ajax接受xml