Ajax传统操作
JavaScript:
----------array: object
定义: var obj= [1, 2, 3, 4]; // 等价于 var obj= new Array(1, 2, 3, 4);
----------Json: object
js里面,有一种特殊的对象,就是Json,可以看做一种特殊的Map(仅方便联想)
var data = {"uid":"uuid","username":"xt","sex":"男","password":"123456"};
-------------基于对象的使用: data.uuid==========>data["uuid"] 前台去处理Json
----------------------------------------------------------->ajax使用
传 json 得到json
controller-------------->前台界面(显示数据) ===================》局部刷新界面,而不是整个界面
Ajax操作分为四步走:两种请求方式 post,get
1)获取XMLHttpRequest
fucntion craeteXMLHttpRequest(){
try{
return new XMLHttpRequest();
}catch(e){
try{
return new ActiveXObject("Microsoft.XMLHTTP")
}catch(e){
try{
return new ActiveXObject("msxml2.XMLHTTP")
}catch(e){
throw e;
}
}
}
var xmlHttpRequest = new craeteXMLHttpRequest();
2)打开窗口(如咱们一般访问浏览器)
xmlHttpRequest.open("Get","<c:url value='/xt?action=hello&xt=aaa'/>",true); ------》get
xmlHttpRequest.open("POST","<c:url value='/product.do?action=checkByPid'/>",true); ---->post 要设置请求头
xmlHttpRequest.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
<c:url value='/xt?action=hello&xt=aaa'/> ------------->也可以是一般文本文件
3)浏览器里面输入数据(send)
xmlHttpRequest.send(null)------------->get
xmlHttpRequest.send("username"+username)------------->post
4)浏览器回应
xmlHttpRequest.onreadystatechange = function(){
if(xmlHttpRequest.readyState==4 &&xmlHttpRequest.status == 200){
var text = xmlHttpRequest.responseText; //类型text,一般可以接收str
var data = JSON.parse(text); // eval("(" +data+ ")") 两种解析方式
var xml = xmlHttpRequest.responseXML; //xml str为xml形式
};
后台 bean------------》json给前台
package cn.transfer.test; import java.util.ArrayList;
import java.util.List;
import java.util.Map;
import java.util.TreeMap; import net.sf.json.JSONArray;
import net.sf.json.JSONObject; import org.junit.Test; public class TestJson {
/*
* 当map来用
*/
@Test
public void fun1() {
JSONObject map = new JSONObject();
map.put("name", "zhangSan");
map.put("age", 23);
map.put("sex", "male"); String s = map.toString();
System.out.println(s); System.out.println("----------------------------");
Map<String,Object> map2 = new TreeMap<String, Object>();
map2.put("age", 12);map2.put("name", "LiSi");map2.put("sex", "男");
System.out.println(map2.toString().replace("=", ":"));//{sex=男, name=LiSi, age=12}
} @Test
public void beanToJson(){
Person person = new Person("LiSi", 12, "男");
//对象转换为json
JSONObject map = JSONObject.fromObject(person);
System.out.println(map.toString());
} /**
* JSONArray
*/
@Test
public void fun3() {
Person p1 = new Person("zhangSan", 23, "male");
Person p2 = new Person("liSi", 32, "female"); JSONArray list = new JSONArray();
list.add(p1);
list.add(p2); System.out.println(list.toString());
} /**
* 原来就有一个List,我们需要把List转换成JSONArray
*/
@Test
public void fun4() {
Person p1 = new Person("zhangSan", 23, "male");
Person p2 = new Person("liSi", 32, "female");
List<Person> list = new ArrayList<Person>();
list.add(p1);
list.add(p2); System.out.println(JSONArray.fromObject(list).toString());
} @Test // 数组--------------<>JSON
public void fun5() {
Person p1 = new Person("zhangSan", 27773, "male");
Person p2 = new Person("liSi", 32, "female");
Person[] p = {p1,p2}; System.out.println(JSONArray.fromObject(p).toString());
} @Test // String------------>JSON
public void fun6() { JSONObject map = new JSONObject();
map.put("name", "zhangSan");
map.put("age", 23);
map.put("sex", "male");
Person obj = (Person) JSONObject.toBean(map, Person.class);
System.out.println(obj.toString() );
}
}
Ajax传统操作的更多相关文章
- ajax 中操作this,需要先在ajax的外面给this重新定义为_this!!
//设置为默认收货地址 $(document).on('tap','.right_none',function(){ var _this = $(this); //只有这样定义,在ajax的内部才可以 ...
- Ajax-04 jQuery Ajax 常用操作
jQuery jQuery 其实就是一个JavaScript的类库,其将复杂的功能做了上层封装,使得开发者可以在其基础上写更少的代码实现更多的功能. jQuery Ajax a.概述 jQuery 不 ...
- JQuery中Ajax的操作
JQuery Ajax异步操作的方式: $.ajax,$.post, $.get, $.getJSON. 一, $.ajax,这个是JQuery对ajax封装的最基础步,通过使用这个函数可以完成异 ...
- Ajax 数据库操作
为了清楚的说明使用 Ajax 从数据库中存取信息有多么容易,我们要构建一个 MySQL 查询,然后把结果显示在ajax.html 上.但是在我们开始之前,让我们先做一些基础工作.使用下面的命令创建一个 ...
- Ajax 传统的异步登陆
这是一个传统的异步登陆,利用Ajax实现的,主要代码如下: 客户端代码: var http; function Button1_onclick() { if (window.ActiveXObject ...
- ajax常用操作
load的方法的使用(现在已不常用) <!doctype html><html lang="en"><head> <meta charse ...
- AngularJS入门教程之与服务器(Ajax)交互操作示例
AngularJS从Web服务器请求资源都是通过Ajax来完成,所有的操作封装在$http服务中,$http服务是只能接收一个参数的函数,这个参数是一个对象,用来完成HTTP请求的一些配置,函数返回一 ...
- ajax 简单操作
<script> $(function () { //$("#send").click(function () { // $.get("JQuery.as ...
- jQuery(九)、ajax对象操作
1 数组和对象操作 1.jQuery.extend([deep,] target, object1, [objectN]) 用一个或多个其他对象来扩展一个对象,返回被扩展的对象. 如果不指定targe ...
随机推荐
- java中怎么把String转化为字符数组呢?
我想让用户输入一组字符串,然后将这个字符串的每一个赋给一个char.即,abcde char ch[]=new char[5]; ch[0]=a;ch[1]=b;..... 解决方案如下图所示: St ...
- Luogu 4137 Rmq Problem / mex
一个主席树题. 一开始想着直接动态开点硬搞就可以了,每次查询只要作一个类似于前缀和的东西看看区间有没有满,在主席树上二分就可以了. 但是这样是错的,因为一个权值会出现很多次……然后就错了. 所以我们考 ...
- LVM扩展学习日志
lvm是逻辑卷管理的简称,它将一个或多个物理硬盘分区(PV)组成一个逻辑硬盘(VG)来使用, 然后从这个VG中划分出逻辑分区(LV), 以上概念是我理解的东西,可能和书上的不一样. 以下所有命令都是 ...
- enumerate()函数
for index,value in enumerate(list): print index,value 等于for i in range(0,len(list)): print i,l ...
- 使用Spring加载properties配置文件.md
背景 类似于datasource.properties之类的配置文件,最初通过Java的Properties类进行处理.这种方式有许多弊端,如每次都需要读取配置文件:若将Properties作为成员变 ...
- Linux sogou input method
afda@afda-Y720-15IKB:~$ wget "http://pinyin.sogou.com/linux/download.php?f=linux&bit=64&quo ...
- 【转】虚拟机 NAT网络设置
我以下写的配置方法别人在网上已经发布过类似的文章.但是我觉的别人写的东西不一定是对的,必须自己亲自试验一下才行.就像有句话说的:“实践是检验真理的唯一标准”以下是我操作的步骤.希望不足的地方,读者能够 ...
- linux配置mysql主从复制
1.准备工作,2台服务器都安装最好一个版本的mysql 主:192.168.100.1 从:192.168.100.2 a.修改主数据库/etc/my.cnf,mysqld下添加.修改之后重启. [m ...
- C# 重写WndProc 拦截 发送 系统消息 + windows消息常量值
接收拦截+发送消息 对于处理所有消息.net 提供了wndproc进行重写 WndProc(ref Message m)protected override void WndProc(ref Mess ...
- Python中dataframe\ array\ list相互转化
import pandas as pd import numpy as np #创建列表 a1=[1,2,3] #arange函数:指定初始值.终值.步长来创建数组 a2=np.arange(0,1, ...