`
java风
  • 浏览: 57832 次
  • 来自: 北京
社区版块
存档分类
最新评论
  • 泛泛evil: 总结的很好,谢谢分享
    JavaScript
  • wanxkl: 哇!总结的太好了。。凤哥哥,你好强大啊。。请问您跟凤姐什么关系 ...
    css应用

Ajax使用文档

    博客分类:
  • java
阅读更多

ajax的使用步骤:

1.需要通过JavaScript创建XMLHttpRequest对象  所有发送的ajax请求和接受服务器传回来的参数都要通过XMLHttpRequest对象来操作

function createXmlHttp(){

if(window.XMLHttpRequest){

//针对firefox,mozillar,opera,safari,IE7,IE8

xmlHttp = new XMLHttpRequest();

//针对某些特定版本的mozillar浏览器的bug进行修正

if(xmlHttp.overrideMimeType){

xmlHttp.overrideMimeType("text/xml");

}

}else  if(window.ActiveXObject){

//针对IE6,IE5.5,IE5

try{

xmlHttp=new ActiveXObject("MSXML2.XMLHTTP");

}catch(e){

try{

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

}catch(e){

alert("不能创建XmlHttpRequest");

}

}

}

}

2.利用已创建的XMLHttpRequest对象发送请求给服务器

请求是:servlet

通过XMLHttpRequest对象的open(first,second,third)方法设置要发送的请求

First是第一个参数指的是url提交的方式为get或者是post

第二个参数Second指的是发送请求的url 一般为servleturl-pattern或者jsp页面的

第三个参数为请求的方式为同步还是异步 true代表异步请求

3.利用XMLHttpRequestonreadystatechange监听XMLHttpRequest对象中readystate的状态 当状态发生改变的时候调用回调函数去讲返回的数据写到页面指定的地方  这里的回调函数不能加上();仅仅是回调函数名即可

4.利用XMLHttpRequest中的send()方法发送请求给服务器

  注意:send(null);null代表FirefoxIE都支持 

5.需要注意的地方是:回调函数只有在readystate状态为4代表数据接受成功才去操作

此时XMLHttpRequest里面的status状态为200时代表数据接受无误 其他会出现404或者500的错误 返回的数据全部保存到XMLHttpRequest中的responseText中 最后可以将获取的返回数据写到页面指定的位置 实现局部刷新

Status的状态码及含义:

Http状态码

含义 

200 

请求成功 

202 

请求被接收,但处理未完成

404 

请求资源未找到 

500 

内部服务器错误 

ReadyState的状态值及含义

readyState

含义 

表示XMLHttpRequest对象已建立,但还未初始化,这时尚未调用open方法 

表示open方法已经调用,但未调用send方法(已创建,未发送) 

表示send方法已经调用,其他数据未知 

表示请求已经成功发送,正在接受数据 

表示数据已经成功接收。 

以上是get的提交方式的想法 如果是post的提交方式和get方式的不同之处

1. 传参形式不同 get方式通过url后面加?再加传的参数 而post方式参数通过send(参数)传递

2. Post方式在send()之前要加上一句话xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");

其他都一样

注意:url的路径问题 一般是servlet对应的url-pattern或者是jsp页面 以及到底包含不包含参数

Dwr使用说明

1. dwrjar包导入到工程下面 dwr.jar 如果出现LogFactory的错误 则需要导入commons-logging-1.1.1.jar

2. web.xml文件配置dwrservlet

<servlet>

<servlet-name>dwr-invoker</servlet-name>

<servlet-class>

org.directwebremoting.servlet.DwrServlet

</servlet-class>

<init-param>

<param-name>debug</param-name>

<param-value>true</param-value>

</init-param>

</servlet>

<servlet-mapping>

<servlet-name>dwr-invoker</servlet-name>

<url-pattern>/dwr/*</url-pattern>

</servlet-mapping>

3. web.xml同目录下面创建一个dwr.xml文件(webRoot/web-inf)

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE dwr PUBLIC "-//GetAhead Limited//DTD Direct Web Remoting 2.0//EN" "http://www.getahead.ltd.uk/dwr/dwr20.dtd">

<dwr>

<allow>

<create creator="new" javascript="first">

<param name="class" value="helloWorld.Service" />

</create>

</allow>

</dwr>

并且要在allow中配置用使用的java(指的是普通的类 注意区分单例模式和非单例模式以上配置是非单例模式的类

4.启动工程 然后再浏览器中输入工程的路径+dwr http://localhost:8080/Ajax326/dwr 以检查dwr配置是否正确

java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory这个异常需要导入一个日志的jar包 引入commons-logging-1.1.1.jar

5.在使用到dwr的页面首先要引入

<script type='text/javascript' src='dwr/util.js'></script>

   <script type='text/javascript' src='dwr/engine.js'></script>

<script type='text/javascript' src='dwr/interface/first.js'></script>

记住前两个是dwr的默认的js文件  第三个的文件名称interface后面的js的名称是在dwr.xml文件配置相应类的JavaScript的对应的值 该文档中的黑的部分是对应的

6.在该页面的JavaScript中可以直接利用first这个对象访问普通的java类中方法 访问格式:first+类中方法名称 在页面中JavaScript中使用的名字也要和dwr.xml文件中配置的JavaScript的属性值一样  该名字和上面的first一致

需要注意的是:java类方法名不能重载

7.在调用有返回值的java类的方法时 不管该方法有多少参数 在页面JavaScript中调用时该方法总要比类中的方法多一个‘参数’ 这个参数是回调函数  

Dwr会自动将类型进行转换

8.在导入dwr中的util.js的页面的JavaScript函数中可以直接使用$(key)用来代表document.getElementById(key)

9.如果返回值是对象或者数组(数组中的元素也为对象时),此时需要在dwr.xml文件中配置类的转换

<convert match="com.puckasoft.ajax.po.User" converter="bean"></convert>

其中match指的是转换的类的路径 这样dwr就会自动将该java类转换成js中的对象形式

单例模式的类dwr的使用首先需要导入相应的jar包 导入 bsh.jar以及bsf.jar包

然后再dwr.xml文件中配置如下信息:需要改变的是JavaScript的属性值和import以及return的内容

注意:return的内容必须是该类的名称加上返回实例的方法getInstance();

<create creator="script" javascript="chinaCitySingletonDao">

    <param name="language" value="beanshell"/>

    <param name="script">

      import com.puckasoft.dao.ChinaCitySingletonDao;

      return ChinaCitySingletonDao.getInstance();

    </param>

</create>

使用dwr时注意:第一点: 配置的是单例模式还是非单例模式

第二点:用到对象转换时一定要记得将对象在dwr.xml文件进行转换

<!--EndFragment-->
分享到:
评论

相关推荐

    aspnet ajax使用文档(AspNet_AJAX_Documentation)

    这份"aspnet ajax使用文档(AspNet_AJAX_Documentation)"涵盖了关于如何使用ASP.NET AJAX的核心概念、API以及最佳实践。 首先,ASP.NET AJAX的核心组件包括AJAX Control Toolkit和UpdatePanel。UpdatePanel是ASP.NET...

    学习ajax的文档——ajax基础文档

    DOM是HTML和XML文档的结构化表示,我们可以使用JavaScript来遍历、修改或添加DOM节点。例如,如果服务器返回一个JSON对象,我们可以解析它,然后用`document.createElement()`、`element.appendChild()`等方法更新...

    ajax帮助文档.CHM

    1. **浏览器兼容性**:不同浏览器对Ajax的支持程度不同,需要使用jQuery、axios等库来统一处理。 2. **SEO问题**:搜索引擎爬虫可能无法执行JavaScript,导致部分内容无法被索引。使用服务器端渲染(SSR)或预渲染...

    ajax技术文档 一些常用的ajax技术文档,及其应用实例!

    Ajax(Asynchronous JavaScript and XML)是一种在无需刷新整个网页的情况下,能够更新部分网页的技术。它通过在后台与服务器进行少量数据交换,使网页实现异步更新。Ajax技术提高了用户体验,使得网页交互更加流畅...

    Ajax技术文档

    Ajax文档其包括介绍Ajax相关的分类及其使用方式, 文档中包含具体的实现代码, 只需研究研究,修改部分代码可使用.

    Ajax离线开发文档

    离线开发文档通常会包含Ajax的基本概念、工作原理、API使用方法以及常见问题的解决方案,帮助开发者在没有网络连接的情况下也能学习和参考。 **一、Ajax基础** 1. **工作原理**:Ajax的核心是XMLHttpRequest对象,...

    ajax 学习文档,详细介绍了ajax的原理

    ### AJAX学习文档:详解原理与应用 #### 一、AJAX定义 AJAX(Asynchronous JavaScript and XML)是一种用于创建快速动态网页的技术。通过在后台与服务器进行少量数据交换,AJAX可以使网页实现异步更新。这意味着...

    AJAX文档

    AJAX 帮助文档

    ajax文档ajax文档

    [使用ajax 构建应用程序] 使用ajax 构建应用程序 内翻译常为“阿贾克斯”和阿贾克斯足球队同音。Web应用的交互如Flickr,Backpack和Google在这方面已经有质的飞跃。这个术语源自描述从基于Web的应用到基于数据的...

    ajax学习文档 很好的学习文档 希望大家好好的利用哦

    【Ajax学习文档】深入解析 Ajax,全称Asynchronous JavaScript and XML,是一种在不刷新整个网页的情况下,能够更新部分网页内容的技术。它并不是一项新技术,而是由一系列已存在的技术组合而成,包括JavaScript、...

    Ajax中文帮助文档

    Ajax,全称Asynchronous JavaScript and XML(异步JavaScript与XML),是一种在...综上所述,Ajax中文帮助文档会详细介绍这些内容,并提供详细的示例代码和解决常见问题的策略,帮助开发者更好地理解和使用Ajax技术。

    ajax教学文档

    ### AJAX教学文档知识点详解 #### 一、AJAX概述及实现原理 **AJAX**(Asynchronous JavaScript and XML)是一种在无需重新加载整个网页的情况下,能够更新部分网页的技术。这一技术结合了多种现有的Web技术,包括...

    hibernate jsp/servlet +AJAX的文档管理系统(毕业设计)

    【hibernate jsp/servlet +AJAX的文档管理系统(毕业设计)】 本文将深入探讨一个基于Hibernate、JSP/Servlet以及AJAX技术构建的文档管理系统。这个系统旨在提供一个高效、用户友好的平台,用于存储、检索和管理...

    3份ajax文档

    在本篇文章中,我们将深入探讨Ajax的核心概念、工作原理以及如何使用JavaScript实现Ajax请求。 ### 1. Ajax的核心概念 Ajax的核心是通过JavaScript创建XMLHttpRequest对象,该对象允许浏览器与服务器进行异步通信...

    ajax帮助文档(常用的类,方法)

    随着ES6的普及,现在可以使用Promise来处理异步操作,如`$.ajax()`返回的就是一个Promise对象。 - `then()`: 定义成功回调,接受一个参数,即服务器返回的数据。 - `catch()`: 处理错误,可以捕获到`$.ajax()`中`...

    ajax中文帮助文档

    例如,jQuery的$.ajax()、$.get()、$.post()等函数,使得Ajax使用更加简便。 **6. XHR2(XMLHttpRequest Level 2)**: - 添加了对跨域请求的支持,使用CORS(跨源资源共享)。 - 新增了上传进度事件,支持文件上传...

    ajax.dll以及说明文档和demo

    提供的`说明文档`会详细阐述如何正确使用`ajax.dll`,包括安装步骤、API接口的使用方法、示例代码以及可能遇到的问题和解决方案。阅读并理解这份文档对于高效地集成和使用`ajax.dll`至关重要。 **Demo的实践意义** ...

    ajax开发必备帮助文档

    虽然名称中有XML,但实际的Ajax传输数据不一定使用XML,更多的是JSON,因为JSON更简洁且易于解析。然而,XML仍然是一个重要的数据交换格式,特别是在需要严格结构和验证的场景下。 在开发Ajax应用程序时,理解这些...

    ajax帮助文档ajax帮助文档

    在“Ajax帮助文档”中,我们可以深入学习以下关键知识点: 1. **XMLHttpRequest对象**:它是Ajax的核心,负责在后台与服务器进行通信。通过创建XMLHttpRequest实例,我们可以设置HTTP请求的方法(如GET或POST)、...

    学习ajax用的各种文档

    **Ajax(Asynchronous ...通过学习这个文档包,你将能够理解Ajax的工作原理,掌握其使用技巧,进一步提升Web应用的交互性和效率。不论是初学者还是有经验的开发者,这些资源都将是你学习和工作中不可或缺的工具。

Global site tag (gtag.js) - Google Analytics