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全栈day01-03注释、关键字与标识符
通常我们需要在源代码中添加文字用来对进行代码解释说明,但这些文字并不是Java代码的语法,会导致编译出错.这时我们可以使用注释来完成这一事项! 在编译时,编译器会忽略注释的存在,就好像注释内容不存在一 ...
- bit byte的关系
字 word 字节 byte 位 bit 字长是指字的长度 1字=2字节(1 word = 2 byte) 1字节=8位(1 byte = 8bit) 一个字的字长为2个字节=2*8=16 一个字节 ...
- maredit测试
int main() { } void addTotail(ListNode *& pHead, int value) { ListNode *node = new ListNode(); n ...
- C# WinForm:无法访问已释放的对象
C#在父窗口中调用子窗口的过程: 1. 创建子窗口对象 2. 显示子窗口对象 笔者的程序中,主窗体MainFrm通过菜单调用子窗口ChildFrm.在窗体中定义了子窗口对象,然后在菜单项点击事件中 ...
- 计算DataTable某列的值(SUM)
参考,如下:
- javascript 文本框值变化触发事件
javascript 文本框值变化触发事件jo.find(".price").bind('input onpropertychange', function () { me.cal ...
- 1003. Check If Word Is Valid After Substitutions
We are given that the string "abc" is valid. From any valid string V, we may split V into ...
- Nginx入门介绍与安装
Nginx是什么? Nginx是俄罗斯人编写的十分轻量级的HTTP和反向代理服务器.发音:"engine X" Nginx能干什么? (1)Http反向代理 Nginx 支持正则表 ...
- js window.open()打开的页面关闭后刷新父页面
function test(){ var winObj = window.open(URL); var loop = setInterval(function(){ if(winObj.closed) ...
- Python 之 装饰器
装饰器 中的“器”代指函数 所以装饰器本质是函数,用来装饰其它函数.例如:为其它函数添加其他功能 实现装饰器需要的知识: 高阶函数+嵌套函数 == 装饰器 1.函数就是“变量” 函数就是“变量”说的 ...