# 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的更多相关文章

  1. Aajx调用千千音乐数据接口

    前端展示截图https://images.cnblogs.com/cnblogs_com/LiuFqiang/1429011/o_D09Q55)EL1VFEIJ(GKI%7D%7DY5.png < ...

  2. EasyUI+MVC+EF简单用户管理Demo(问题及解决)

    写在前面 iframe-src EntityFramework版本 connectionStrings View.Action.页面跳转 EasyUI中DataGrid绑定 新增.修改和删除数据 效果 ...

  3. 研究base64_encode的算法

    从网上看了一些资料,为了方便自己理解,于是把它的编码原理,自己放在excel表格中清晰列出来,方便以后查阅.做的图如下:

  4. Ajax实例

    <%@ Page Language="C#" AutoEventWireup="true" CodeBehind="Index.aspx.cs& ...

  5. 新浪微博SSO登陆机制

    国内私募机构九鼎控股打造APP,来就送 20元现金领取地址:http://jdb.jiudingcapital.com/phone.html内部邀请码:C8E245J (不写邀请码,没有现金送)国内私 ...

  6. Highcharts简介

    最近要做一个油田油压或温度数据的监控软件,数据会秒级写到数据库中,界面上需要动态展示数据跟随时间变化. 在网上找了很多js插件,希望能够即时高效的展示数据,最终确定了使用Highcharts插件. H ...

  7. WPF应用程序支持多国语言解决方案

    原文:WPF应用程序支持多国语言解决方案 促使程序赢得更多客户的最好.最经济的方法是使之支持多国语言,而不是将潜在的客户群限制为全球近70亿人口中的一小部分.本文介绍四种实现WPF应用程序支持多国语言 ...

  8. 第一百二十七节,JavaScript,JSON数据类型转换,数据转换成字符串,字符串转换成数据

    第一百二十七节,JavaScript,JSON数据类型转换,数据转换成字符串,字符串转换成数据 学习要点: 1.JSON语法 2.解析和序列化 前两章我们探讨了XML的结构化数据,但开发人员还是觉得这 ...

  9. java_web学习(16)Ajax

    Ajax       Ajax(Asynchronous JavaScript and XML的缩写),允许浏览器与服务器通信而无须刷新当前页面的技术都被叫做Ajax.       Ajax:一种不用 ...

随机推荐

  1. 文件流下载时 axios blob文件大小不正确?

    文件流下载时 js blob文件大小不正确? res.data的字节长度 length blob.size匹配不上.. axio请求里必须修改 responseType: 'blob' 参数, 默认是 ...

  2. C# 元组

    Tuple<,); Console.WriteLine(t.Item1); Console.WriteLine(t.Item2); C#7 可以使用圆括号声明一个元组: (); Console. ...

  3. Linux_列出文件和文件属性

    ls +文件名:列出该文件 ls +目录名:列出该目录下的文件 ls 什么也不加:列出当前工作目录下的文件 ls -a  列出包括隐藏文件,即所有文件名 ls -l 列出文件名+详细信息 ls -al ...

  4. jeesite 去掉 /a

    1.修改 jeesite.properties文件 adminPath=/a为 adminPath= 2.修改 web.xml文件找到如下设置 <filter-mapping> <f ...

  5. 忘记mysql root用户密码的解决办法(skip-grant-tables)

    skip-grant-tables顾名思义,数据库启动的时候 跳跃权限表的限制,不用验证密码,直接登录. 注意: 这种情况只有在忘记root密码 不得已重启数据库的情况下使用的.现网环境慎用,需要重启 ...

  6. Spring @Column的注解详解

    就像@Table注解用来标识实体类与数据表的对应关系类似,@Column注解来标识实体类中属性与数据表中字段的对应关系. 该注解的定义如下: @Target({METHOD, FIELD}) @Ret ...

  7. 【转】HeadFirst 组合模式+迭代器错误原因以及解决代码

    http://blog.csdn.net/sugar_girl/article/details/53400267     <HeadFirst JAVA设计模式>中用迭代器迭代组合模式是存 ...

  8. iOS漂亮的Toolbar动画、仿美团主页、简易笔记本、流失布局、标签分组等源码

    iOS精选源码 JPLiquidLayout 简单易用的流式布局 labelGroupAndStreamSwift---标签分组,单选,多选 iOS采用UITableView和UIScrollView ...

  9. [LC] 557. Reverse Words in a String III

    Given a string, you need to reverse the order of characters in each word within a sentence while sti ...

  10. 吴裕雄--天生自然python学习笔记:python文档操作自动生成菜单 Word 文件

    许多学校营养午餐的菜单是由教师来轮流制作 ,这是一个 比较烦锁的工作,如 果能自动用教师最熟悉的 Word 文件来生成一个菜单文件,使教师对生成的菜单稍作 修改即可使用,那将是一个不错的主意. 案例要 ...