Aajx
# Ajax入门及基本开发 ##
# Ajax的基本概念
>> 概念;
界面异步传输技术;
将几种技术和在一起进行开发的一种编程方式;
>> 基本应用场景;
> Google Suggest
> Gmail
> Google Map
# Ajax的开发步骤;
>> 创建XMLHttpRequest对象;
>> 将状态触发器绑定到一个函数;
>> 使用open函数建立与服务器的链接;
>> 向服务器端发送数据;
>> 在回调函数中对返回数据进行处理;
# 简单示例;
>> 简单的弹框操作;
// 创建XMLHttpRequest对象;
<script type="text/javascript">
function createXMLHttpRequest()
{
var xmlHttp;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
try
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
catch (e)
{
alert("您的浏览器不支持AJAX!");
return false;
}
}
}
}
</script>
// 将状态触发器绑定到一个函数;
var xmlHttp= createXMLHttpRequest();
xmlHttp.onreadystatechange= function(){
// 在回调函数中对返回数据进行处理;
if(xmlHttp.readyState==4){
if(xmlHttp.status==200){
//具体代码;
alert(xmlHttp.responseText);
//在客户端显示结果;
}
}
};
// 使用open函数建立与服务器的链接;
xmlHttp.open("GET","提交的地址,注意跟上应用名",true);
// 向服务器端发送数据;
xmlHttp.send(null);
//POST方式提交数据;
xmlHttp.open("POST","提交的地址,注意跟上应用名",true);
xmlHttp.setRequsetHeader("Content-Type","application/x-www-from-urlencoded");
xmlHttp.send("username=XXX& age=10");
>> 创建一个Servlet
response.setContentType("text/html;charset=UTF-8);
String username= request.getParameter("username");
username= new String(username.getByte("iso-8859-1"),"UTF-8");
syso(username);//服务端返回结果;
//post提交数据的代码;
requset.setCharacterEncoding("UTF-8");
String username= request.getParameter("username");
response.getWriter().write("xxxx");
# Ajax的优化
因为返回数据冗余过多,考虑通过优化格式的方式来进行数据返回;
>> JSON数据格式;
|-- 一种轻量级的数据格式,容易阅读且解析方便;
|-- 基本格式;
> <script>
var student= {"name":"cgx","age":"20"}; //JSON字符串;
alert(students.name+" --- "+students.age);
var students= [ {"name":"cgx","age":"20"}, {"name":"aj","age":"18"}];
alert(students[0].name+" --- "+student[0].age);
//JSON数据格式的数组;
</script>
|-- 使用方式;
> 有个JSON-lib的小型插件
|-- 具体方式;
> JSONArray json= JSONArray.fromObject(Object[] obj);
//对于数组和list集合的转换;
> JASONObject json2= JASONObject.fromObject(Object obj);
//对于单个元素或者Bean 的转换;
Aajx的更多相关文章
- Aajx调用千千音乐数据接口
前端展示截图https://images.cnblogs.com/cnblogs_com/LiuFqiang/1429011/o_D09Q55)EL1VFEIJ(GKI%7D%7DY5.png < ...
- EasyUI+MVC+EF简单用户管理Demo(问题及解决)
写在前面 iframe-src EntityFramework版本 connectionStrings View.Action.页面跳转 EasyUI中DataGrid绑定 新增.修改和删除数据 效果 ...
- 研究base64_encode的算法
从网上看了一些资料,为了方便自己理解,于是把它的编码原理,自己放在excel表格中清晰列出来,方便以后查阅.做的图如下:
- Ajax实例
<%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Index.aspx.cs& ...
- 新浪微博SSO登陆机制
国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...
- Highcharts简介
最近要做一个油田油压或温度数据的监控软件,数据会秒级写到数据库中,界面上需要动态展示数据跟随时间变化. 在网上找了很多js插件,希望能够即时高效的展示数据,最终确定了使用Highcharts插件. H ...
- WPF应用程序支持多国语言解决方案
原文:WPF应用程序支持多国语言解决方案 促使程序赢得更多客户的最好.最经济的方法是使之支持多国语言,而不是将潜在的客户群限制为全球近70亿人口中的一小部分.本文介绍四种实现WPF应用程序支持多国语言 ...
- 第一百二十七节,JavaScript,JSON数据类型转换,数据转换成字符串,字符串转换成数据
第一百二十七节,JavaScript,JSON数据类型转换,数据转换成字符串,字符串转换成数据 学习要点: 1.JSON语法 2.解析和序列化 前两章我们探讨了XML的结构化数据,但开发人员还是觉得这 ...
- java_web学习(16)Ajax
Ajax Ajax(Asynchronous JavaScript and XML的缩写),允许浏览器与服务器通信而无须刷新当前页面的技术都被叫做Ajax. Ajax:一种不用 ...
随机推荐
- selenium登录网银,密码控件输入
尝试登录农行网银,发现带控件的密码输入框怎么都无法输入啊 最后用虚拟键盘实现的 , DD模拟键盘 http://www.ddxoft.com/ 图形验证码识别没过,有时间再继续 需要安装 Tess ...
- 吴裕雄--天生自然python学习笔记:python 用pygame模块动画一让图片动起来
动画是游戏开发中不可或缺的要素,游戏中的角色只有动起来才会拥有“生命”, 但动画处理也是最让游戏开发者头痛的部分.Pygame 包通过不断重新绘制绘图窗口,短短几行代码就可以让图片动起来! 动画处理程 ...
- 吴裕雄--天生自然C语言开发:字符串
] = {'H', 'e', 'l', 'l', 'o', '\0'}; char greeting[] = "Hello"; #include <stdio.h> i ...
- linux文件系统与链接
Linux的文件属性图1 图1 linux的文件属性 ls -lhi -l 长格式 -h 人性化 -i inodo -d 看目录自己的信息 inode 源自于文件系统 分区 平面设计图 格式化 施 ...
- ios Alamofire网络插件的使用
pod 'Alamofire' import Alamofire let headers:HTTPHeaders = [ "aa":"bb" ] let par ...
- 查询AD中被锁定的账号并进行解锁
1:查询AD中被锁定的账号: Search-ADAccount -LockedOut | export-csv -path c:\aaavvv.csv 2:解除锁定 Search-ADAccount ...
- 关于MyBatis的运行原理(转载)
1.获取sqlSessionFactory对象: 解析文件的每一个信息保存在Configuration中,返回包含Configuration的DefaultSqlSessionFactory: 注意: ...
- 用两个栈实现一个队列(C++)
分析 栈:后进先出 队列:先进先出 要使用两个栈实现队列(先进先出),主要思路是 1.插入一个元素:直接将元素插入stack1即可. 2.删除一个元素:当stack2不为空时 ,直接弹出栈顶元素,当s ...
- ionic2踩坑之兼容android4.3及以下版本
一个命令就行了 ionic plugin add cordova-plugin-crosswalk-webview --save 执行完之后重新打包. 但是如果要兼容4.0及以下的话.... 帮不了你 ...
- C语言Windows程序设计—— 使用计时器
传统意义上的计时器是指利用特定的原理来测量时间的装置, 在古代, 常用沙漏.点燃一炷香等方式进行粗略的计时, 在现代科技的带动下, 计时水平越来越高, 也越来越精确, 之所以需要进行计时是在很多情况下 ...