Ajax初始接触
演示JS对象的属性,方法和事件的使用
(1)window.location.href
(2)form.submit()
<form action="" method="POST"> <input type="button" value="提交到服务端" onclick="doSubmit()"/> </form> <script type="text/javascript"> function doSubmit(){ //表单提交 document.forms[0].submit(); } </script>
(3)inputElement.onblur = 函数 onblur 事件会在对象失去焦点时发生。
(4)document.createElement(“img”) createElement() 方法可创建元素节点
(5)imgElement.style.width/height
什么是AJAX
客户端(特指PC浏览器)与服务器,可以在【不必刷新整个浏览器】的情况下,与服务器进行异步通讯的技术 即,AJAX是一个【局部刷新】的【异步】通讯技术AJAX不是全新的语言,是2005年Google公司推出的一种全新【编程模式】,不是新的编程语言
不用刷新整个页面便可与服务器通讯的办法有:
(A)Flash/ActionScript
(B)框架Frameset
(C)iFrame(内嵌入框架)
(D)XMLHttpRequest(非IE浏览器)和ActiveXObject(IE浏览器)
背景:早上IE5时,微软就开发出了第一个异步通讯对象,叫ActiveXObject对象,
Firefox等其它浏览器厂商也慢慢引入异步通讯对象,叫XMLHttpRequest对象,
IE的高版本,也将这个异步对象取名叫XMLHttpRequest对象,但IE有向下兼容问题,
也可以使用ActiveXObject对象。
无需第三方jar包,现代中高版本浏览器中内置了这个异步通讯对象,只需通过JavaScript就可以创建
注意:所有浏览器中都内置了异步对象,在默认情况下,该异步对象并没有创建出来
AJAX开发步骤
1:创建AJAX异步对象,例如:createAJAX()
2:准备发送异步请求,例如:ajax.open(method,url)
3:如果是POST请求的话,一定要设置AJAX请求头,例如:ajax.setRequestHeader()
如果是GET请求的话,无需设置设置AJAX请求头
4:真正发送请求体中的数据到服务器,例如:ajax.send()
5:AJAX不断的监听服务端响应的状态变化,例如:ajax.onreadystatechange,后面写一个无名处理函数
6:在无名处理函数中,获取AJAX的数据后,按照DOM规则,用JS语言来操作Web页面
Ajax案例
前台
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>ajax</title> </head> <body> 当前时间:<span id="time"></span><br/> <input type="button" name="" value="获取当前时间" id="buttonId"> <script type="text/javascript"> document.getElementById("buttonId").onclick = function() { //1、创建AJAX对象 var ajax = createAJAX(); //2、准备发送请求 var method = "GET"; //为了适应IE浏览器对其不变的地址缓存,以致其不会继续去发送请求,所以加上时间,保证唯一 var url = "${pageContext.request.contextPath}/TimeServlet?time="+new Date().getTime(); ajax.open(method, url); //3、真正发送请求的具体数据到服务器,如果球体中无数据,就用null表示 ajax.send(null); /*4、Ajax异步对象不断监听服务器 一定要状态变化后,才会触发function(){}函数 如果状态永远不变,不会触发function(){}函数 */ ajax.onreadystatechange = function() { //如果状态码为4 if (ajax.readyState == 4) { //如果响应码为200 if (ajax.status == 200) { //5、从ajax异步对象中获取服务其相应的Html数据 var str = ajax.responseText; //6、操作数据 document.getElementById('time').innerHTML = str; } } } } function createAJAX() { var ajax = null; try { //如果是IE5——IE12的话 ajax = new ActiveXObject("microsoft.xmlhttp"); } catch (e1) { //如果是非IE的话 ajax = new XMLHttpRequest(); } return ajax; } </script> </body> </html>
后台
public class TimeServlet extends HttpServlet { public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { SimpleDateFormat sdf=new SimpleDateFormat("yyyy-MM-dd HH:mm:ss"); String str=sdf.format(new Date()); //以流的形式将结果响应到ajax异步对象中 response.setContentType("text/html;charset=UTF-8"); PrintWriter pw=response.getWriter(); pw.write(str); pw.flush(); pw.close(); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doGet(request, response); } }
Ajax初始接触的更多相关文章
- js-jquery 中$.ajax -浅显接触
工作了将近2年,终于开始自己写ajax了!!!真紧张的! 当年培训时就没有学ajax,就让我们自己看看,我是那种主动学习的人吗?不是!!!所以搞不懂ajax!!!!! 在工作中,数据的绑定我们之前都是 ...
- 三、jQuery--Ajax基础--Ajax全接触--jQuery中的AJAX
用jQuery实现Ajax jQuery.ajax([settings]) type:类型,“POST”或“GET”,默认为“GET” url:发送请求的地址 data:是一个对象,连同请求发送到服务 ...
- 三、jQuery--Ajax基础--Ajax全接触--Ajax在JS中的应用
Ajax的全称:Asynchronous JavaScript And XML(异步的 JavaScript 和 XML). Ajax不是某种编程语言,是一种在无需重新加载整个网页的情况下能够更新部分 ...
- Ajax全接触
AJAX即“Asynchronous Javascript And XML”(异步JavaScript和XML) 通过在后台与服务器进行少量数据交换,AJAX 可以使网页实现异步更新.这意味着可以在不 ...
- ajax再接触
贴三个目前写的已经工作了的ajax,并且给出备注: 1.这是第一个ajax以及它的接口文档,需要注意的是1.因为返回数据是xml所以多加了contentType:"application/x ...
- Ajax全接触(2)
例子简介 1.查询员工信息,可以通过输入员工编号查询员工基本信息: 2.新建员工信息,包含员工姓名,员工编号,员工性别,员工职位: 实现: 1.纯html页面,用来实现员工查询和新建的页面: 2.ph ...
- Ajax全接触(1)
Ajax全称:Asynchronous JavaScript and XML(异步的JavaScript和XML) .Ajax不是某种编程语言 是一种在无需重新加载整个网页的情况之下能够更新部分网页的 ...
- 三、jQuery--Ajax基础--Ajax全接触--扩展知识(跨域)
- 三、jQuery--Ajax基础--Ajax全接触--JSON
JSON基本概念 JSON:JavaScript对象表示法(JavaScript Object Notation) JSON是存储和交换文本信息的语法,类似XML.它采用键值对的方式来组织,易于人们阅 ...
随机推荐
- How to transfer developer profile to one mac to another mac
Export developer profile from old mac. In the Xcode Organizer, select your team in the Teams section ...
- 20169207《Linux内核原理与分析》第五周作业
这周的任务主要分为两个方面,第一方面,学习MOOC网上视频第三讲并完成配套的实验.第二方面,学习课本的第四章和第六章. 首先从实验开始讲起,前期我们对Linux内核的源码做了一个简单的了解.包括Mai ...
- Android 批量打包利器
因为添加了渠道号,对应不同的渠道包,此时,动不动就几十个包,实在让人头疼,此时,需要引入自动打包功能. 首先,列举出援引的博客内容 美团Android自动化之旅—生成渠道包 http://tech.m ...
- [ 9.13 ]CF每日一题系列—— 340A GCD & LCM
Description: [ 着实比较羞愧,都想着去暴力,把算法(方法)也忘了] A只涂x,2x,3x……,B只涂y,2y,3y……问你A和B共同涂的墙的个数 Solution: 就是求x和y的lcm ...
- 100度享乐电商网 CSS
/*reset begin*/body,div,dl,dt,p,h1,h2,h3,h4,h5,input,form,span,ul{ margin: 0; padding: 0;}a{ text-de ...
- 分形之皇冠(Crown)
皇冠分形曲线 核心代码: static void FractalCrown(const Vector3& vStart, const Vector3& vEnd, Vector3* p ...
- [C# 开发技巧]如何使不符合要求的元素等于离它最近的一个元素
一.问题描述 今天在MSDN论坛中看到这样的一个问题,觉得非常锻炼思维能力,所以这里记录下来作为备份,题目的要求是这样的: 假设有一组字符串数组{"0","0" ...
- python安装mysql-python依赖包
# 背景 新公司,对换工作了!接口自动化使用的是python的behave框架,因此需要折腾python了,而公司配的笔记本是windows的,因此要在windows下折腾python了 # 步骤 项 ...
- ASP.NET MVC 主要的四种过滤器和三种具体实现类
4种常用过滤器(IAuthrorizationFilter.IActionFilter.IResultFilter.IExceptionFilter) 和 3种具体实现类(AuthorizeAttri ...
- [WPF]为旧版本的应用添加触控支持
之前做WPF开发时曾经遇到这样一个需求:为一个基于 .NET Framework 3.5开发的老旧WPF程序添加触控支持,以便于大屏触控展示. 接手之后发现这是一个大坑. 项目最初的时候完全没考虑过软 ...