json+ajax

1.1.1 json数据生成

  l 将采用json-lib 工具生成

  l 导入jar包:(注意:重复)

    

  l api使用:

    JavaBean 或 Map :JSONObject.fromObject(...).toString();

    List 或 Array:JSONArray.fromObject(...).toString();

      

1.1.2 发送 ajax 请求

  l /ee19_crm/WebRoot/WEB-INF/pages/staff/editStaff.jsp

  l 步骤:

    1.获得当前选中部门

    2.发送ajax查询职务(获得引擎、设置回调、开发连接、发送请求)

    3.获得数据后,将数据添加到职务的select标签中。

<script type="text/javascript">

function showPost(obj){

//1 获得选中部门

var depId = obj.value;

//2 发送ajax,通过部门查询职务

//2.1 获得引擎

var xmlhttp=null;

if (window.XMLHttpRequest){// code for all new browsers

  xmlhttp=new XMLHttpRequest();

} else if (window.ActiveXObject) {// code for IE5 and IE6

  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");

}

//2.2 设置回调函数

xmlhttp.onreadystatechange = function(){

//请求完成,正常响应

if(xmlhttp.readyState == 4 && xmlhttp.status == 200){

//3 获得数据,并展示 ,手动ajax 获得 json数据 字符串

var textData = xmlhttp.responseText;

//3.1 将字符串 手动 转换 json对象

var jsonData = eval("("+textData+")");

// 获得select对象

var postSelectElement = document.getElementById("postSelectId");

postSelectElement.innerHTML = "<option value=‘‘>----请--选--择----</option>";

//3.2 遍历

for(var i = 0 ; i < jsonData.length ; i++){

var postObj = jsonData[i];

// 获得职务id

var postId = postObj.postId;

// 获得职务名称

var postName = postObj.postName;

//3.3 将数显示到select标签

postSelectElement.innerHTML += "<option value=‘"+postId+"‘>"+postName+"</option>";

}

}

};

//2.3 创建连接

var url = "${pageContext.request.contextPath}/postAction_findAllWithDepartment?department.depId=" + depId;

xmlhttp.open("GET", url);

//2.4 发送请求

xmlhttp.send(null);

}

</script>
 /**
     * ajax 通过部门 ,查询所有的职务
     * @return
     * @throws IOException
     */
    public String findAllWithDepartment() throws IOException{
        //1 查询
        List<CrmPost> allPost = this.postService.findAll(post.getDepartment());
        
        //2 将java对象 转换 json数据
        
        //2.1 排除不需要数据
        JsonConfig jsonConfig = new JsonConfig();
        jsonConfig.setExcludes(new String[]{"department","staffSet"});
        //2.2 转换
        String jsonData = JSONArray.fromObject(allPost,jsonConfig).toString();
        
        //3 将json数据发送给浏览器
        //3.1 响应中文乱码
        ServletActionContext.getResponse().setContentType("text/html;charset=UTF-8");
        //3.2 发送
        ServletActionContext.getResponse().getWriter().print(jsonData);
        
        return "none";
    }
时间: 2024-08-04 16:31:34

json+ajax的相关文章

struts2,json,ajax整合内容记录

使用ssh三大框架整合时关于struts2,json,ajax整合内容记录.这里写主要部分代码 action部分: 注意事项,action部分的返回值要有set和get方法,否则会报错. package com.hcj.action; import net.sf.json.JSONObject; import com.hcj.dto.User; import com.hcj.service.UserService; import com.opensymphony.xwork2.ActionSup

java痛苦学习之路[十二]JSON+ajax+Servlet JSON数据转换和传递

1.首先客户端需要引入 jquery-1.11.1.js 2.其次javaweb工程里面需要引入jar包  [commons-beanutils-1.8.0.jar.commons-collections-3.1.jar.commons-lang-2.4.jar.commons-logging-1.1.3.jar.ezmorph-1.0.6.jar.json-lib-2.3-jdk15.jar] 3.客户端js端代码 4.servlet 服务器,映射的路径CardColl 以上就是整个过程,如果

jquery json ajax三级联动

province_city_area.jsp 1 <%@ page language="java" pageEncoding="UTF-8"%> 2 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> 3 <html> 4 <head> 5 <script type="text/javascript"

初学者使用json+ajax作注册判断的时候容易犯的一个错误

平常越不留意的东西越容易犯错,前些天在做注册案例的时候,用到了json+ajax来发送异步请求来判断当前的用户有没有被注册过,然后在注册按钮进行终极校验决定是否进行注册的时候,遇到了一个bug困扰了很久,后来经过自己的不断的调试和百度解决了,在此我将遇到的问题使用伪代码跟大家分享一下,让大家遇到我这个坑的时候轻松越过. (以下是错误案例) 1 我在注册页面中register.html中用户输入框失去焦点的时候发送异步请求,判断当前用户有没有被注册过,结果返回显示在页面提示用户.异步请求的函数如下

【JavaScript.6】阶段概念总结之HTML+CSS+JavaScript+xml+xpath+Json+Ajax

[前言] 最近学习了很多BS的新东西,有很多新名称,概念多了,理解也少了,很多东西都混乱.今天静下来把学到的几 个概念性东西总结一下.本文多是一些概念性的个人理解,希望同样存在疑惑的小伙伴看完后能够如入桃源般地豁然 开朗.当然如果我的理解有偏差,请指出来,共同进步. 关于BS的学习,相信很多人都已经走过了,当初最开始接触的是牛腩,里面用到了很多BS的知识,包括HTML. CSS.JavaScript和Ajax等.对于有基础或者正处于迷惑之间的人来说,接下来的话可能会很有感触. [HTML] 首先

json+ajax实现实时刷新和增删查功能

首先,在servlet里面我是这样处理的: package com.wws.servlet; import java.io.IOException; import java.io.PrintWriter; import java.util.ArrayList; import java.util.List; import java.util.Map; import javax.servlet.ServletException; import javax.servlet.http.HttpServl

struts + json + ajax 例子

一,用到的jar包 1.后期添加. 1.js代码 function showcomplex(dataResponse)   {   var data = eval('(' + dataResponse.responseText + ')');   var str='';   for(var i=0;i<data.js.length;i++)   {    str+='<ul>';   str+='<li>'+data.js[i].id+'</li>';   str

一个php+jquery+json+ajax实例

json.php <!DOCTYPE html Public "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Co

Ajax&amp;Json —— Ajax

Ajax 交互时必须要有Json 1. Ajax 简介 1,Ajax 是一种网页开发技术,(Asynchronous Javascript + XML)异步 JavaScript 和 XML: 2,Ajax 是异步交互,局部刷新: 3,Ajax 能减少服务器压力: 4,Ajax 能提高用户体验: 2. Ajax 交互与传统交互比较 传统交互:网页整体刷新,服务器压力大,用户体验不好: Ajax 交互:局部刷新,服务器压力小,用户体验好: 3. Ajax 核心知识 XMLHttpRequest 对