# 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. python脚本实现自动安装nginx

    本文python脚本实现自动化安装是源码安装.实现任意版本安装,默认版本是1.13.11,也可以更改默认版本,手动配置安装目录. 环境:Ubuntu16.04,python3以上版本,Ubuntu自带 ...

  2. Exynos4412开发板-网络-同一网段

    1.1 同一网段在不少实验中,都会需要用到局域网的一些基础知识,在技术支持的过程中,发现不少用户对于这个概念非常模糊,导致 IP 地址或者网络环境稍微有点变化,就无法实现实验.如果没有接触过这个概念, ...

  3. MySQL的详细操作

    MySQL的详细操作 存储引擎 不同的数据应该有不同的处理机制 mysql存储引擎 Innodb:默认的存储引擎 查询速度较myisam慢 但是更安全,支持事务,行锁,外键由于以上的支持,数据更安全, ...

  4. 应用HTML5 标签下载文件

    使用HTML5 <a>标签可以直接下载文件而不用通过后台action. <a href="/uploadfolder/xxxx.txt">点击下载</ ...

  5. [Linux] Windows 下通过SecureCRT 访问 Linux

    不愿意装双系统的,可以借助虚拟机(Vmware, Virtual PC等) 安装linux 进行使用. 至于如何使用虚拟机安装Linux 这部分,很简单: 下载好需要安装的Linux ISO 镜像文件 ...

  6. easyui自学总结

    1.可拖动 - Draggable 创建一个拖拽元素标记. <div id="dd" class="easyui-draggable" data-opti ...

  7. Block to|wreck|Range|Reach|span|chase around|amuse|exploit |instructed

    English note: Block to 纷涌而至 destroy多指彻底地.毁灭性地破坏,含导致无用,不能或很难再修复的意味. wreck侧重指船只.车辆.房屋等受到严重破坏或完全毁坏,也可指计 ...

  8. 限制IP每分钟访问10次

    转载:https://www.jianshu.com/p/d1326ab657ff IP请求限制,之前用过redis的set设置时间戳一分钟过期:也用过nginx的IP限流配置.前者,没法解决“用户在 ...

  9. nodejs快速测试

    对于一些js功能,可以通过nodejs快速搭建测试环境 1.这里我们先通过express脚手架快速搭建一个项目,或者init一个空项目 2.mkdir script 3.这里假设我们的场景是MQTT接 ...

  10. [LC] 300. Longest Increasing Subsequence

    Given an unsorted array of integers, find the length of longest increasing subsequence. Example: Inp ...