后台java代码

public void doPost(HttpServletRequest request,HttpServletResponse response)
            throws servletexception,IOException {

        response.setContentType("text/html;charset=utf-8");
        JSONObject json = null;
        PrintWriter out = response.getWriter();
        System.out.println("load in ....");
        // 初始化数据
        class Cat{
            Cat (String name,int height ) {
                this.height = height;
                this.name = name;
            }
            int height;
            String name;
        }

        ArrayList<Cat> list = new ArrayList<Cat>();
        list.add(new Cat("Tom",20));
        list.add(new Cat("Abby",30));
        list.add(new Cat("Kitty",10));
        list.add(new Cat("Julie",40));

        // 定义返回值的容器
        StringBuffer buffer = new StringBuffer();
        // 当json返回 对象时,外面必须加一对小括号
        buffer.append("({");

        for(int i = 0; i < list.size(); i++){
            Map map = new HashedMap();
            map.put("name",list.get(i).name);
            map.put("height",list.get(i).height);
            json = JSONObject.fromObject(map);
            buffer.append(i);
            buffer.append(":");
            buffer.append(json.toString());

            if(i != list.size()-1) {
                buffer.append(",");
            }
        }

        buffer.append("})");
        out.print(buffer);

        out.flush();
        out.close();

    }

js脚本

$(function() {
    $("#verify").click(function(){
        var userName = $("#userName").val();
        $.ajax({
            type: "post",url: "servlet/ResultJSON",async: true,data : "name=" + userName,dataType: "Text",success: function(data){
                alert(data);
                var objs = eval(data);
                try{
                    for (var i = 0; i < 10; i++) {
                        var o = objs[i];
                        $("#result").append(o.name + "---" + o.height + "<br />");}
                }catch(e){
                    alert("数据往下没有了");
                }
            }
        });
    });
});

Ajax 返回 json的更多相关文章

  1. nsmutablearray – Sprite Kit iOS7 – SKNode UserData属性不存储值

    谢谢解决方法userData属性最初为零.您必须先创建一个字典并进行分配:

  2. 应用程序关闭时的iOS任务

    我正在构建一个应用程序,通过ajax将文件上传到服务器.问题是用户很可能有时不会有互联网连接,并且客户希望在用户重新连接时安排ajax调用.这可能是用户在离线时安排文件上传并关闭应用程序.应用程序关闭时可以进行ajax调用吗?

  3. Swift 字符串替换/过滤/切割/拼接

    替换为/结果过滤过滤掉单个字符/结果过滤掉开头和结尾的空白结果切割对字符串使用/作为分隔符来切割,不允许空字符串使用split函数结果是一个数组对字符串使用/作为分隔符来切割,允许空字符串结果拼接结果

  4. Swift开发教程--字符串的操作

    替换把?替换为/结果

  5. Friday Q&amp;A 2015-11-20:协变与逆变

    作者:MikeAsh,原文链接,原文日期:2015-11-20译者:Cee;校对:千叶知风;定稿:numbbbbb在现代的编程语言中,子类型和超类型已经成为了非常常见的一部分了。但并不意味着所有的Animal都是Cat。CrazyCatLady.purchaseAnimal会返回一只Cat。类似,CrazyCatLady返回的Cat也是有效的。CrazyCatLady的pet方法期望参数是一只Cat。这破坏了Liskov替换原则:此时的CrazyCatLady并不能在任意的地方替代Person的使用。与此

  6. swift 网络搜索热词排行

    1.使用www.showapi.com上的接口,需要注册添加一个App,这样才能获取appid和secret密钥,调用前需要订购套餐(选免费的就可以了);2.外部库Podfile文件内容,SnapKit这里暂时不需要用到:3.桥接头文件参考:http://www.jb51.cc/article/p-pcleyxep-te.html4.AppTransportSecurityhasblockedac

  7. as、as!、as?

    1,as使用场合从派生类转换为基类,向上转型消除二义性,数值类型转换switch语句中进行模式匹配如果不知道一个对象是什么类型,你可以通过switch语法检测它的类型,并且尝试在不同的情况下使用对应的类型进行相应的处理。使用场合向下转型时使用。由于是强制类型转换,如果转换失败会报runtime运行错误。成功的话返回可选类型值,需要我们拆包使用。在转换失败的时候也不会出现错误,所以对于如果能确保100%会成功的转换则可使用as!

  8. 如何在Swift中打乱数组?

    如何随机化或混洗Swift中的数组中的元素?例如,如果我的数组包括52张扑克牌,我想洗牌,以便洗牌。这个答案详细说明了如何在Swift的各种版本中添加Fisher-Yatesshuffle。Swift3版本是最宽松的,但是它们至少可以用于数组。每个Swift版本的命名和行为与该版本的mutating和nonmutating排序方法相匹配。

  9. unit-testing – 如何在Swift中对NSFetchedResultsController进行单元测试

    我有一个Swift应用程序,它使用NSFetchedResultsController从持久存储中获取List对象:它的工作方式与预期的一样,我将List对象描述打印到控制台.我想为我的应用程序编写一些单元测试,所以我创建了扩展XCTestCase的类.代码编译没有问题,测试运行,但不幸的是我无法在该上下文中获取List对象.我在控制台中获得的所有内容都是List对象的数量和致命错误:线路上升:我

  10. swift – 检查自定义对象数组是否包含特定的自定义对象

    说我有一个非常简单的Person类我希望将一个这样的人的集合存储在一个属性中,该属性是一个Person类的数组,类型为Person也许我实现如下问题:我如何检查people.list是否包含实例alex,好吗?

随机推荐

  1. xe-ajax-mock 前端虚拟服务

    最新版本见Github,点击查看历史版本基于XEAjax扩展的Mock虚拟服务插件;对于前后端分离的开发模式,ajax+mock使前端不再依赖后端接口开发效率更高。CDN使用script方式安装,XEAjaxMock会定义为全局变量生产环境请使用xe-ajax-mock.min.js,更小的压缩版本,可以带来更快的速度体验。

  2. vue 使用 xe-ajax

    安装完成后自动挂载在vue实例this.$ajaxCDN安装使用script方式安装,VXEAjax会定义为全局变量生产环境请使用vxe-ajax.min.js,更小的压缩版本,可以带来更快的速度体验。cdnjs获取最新版本点击浏览已发布的所有npm包源码unpkg获取最新版本点击浏览已发布的所有npm包源码AMD安装require.js安装示例ES6Module安装通过Vue.use()来全局安装示例./Home.vue

  3. AJAX POST数据中文乱码解决

    前端使用encodeURI进行编码后台java.net.URLDecoder进行解码编解码工具

  4. Koa2框架利用CORS完成跨域ajax请求

    实现跨域ajax请求的方式有很多,其中一个是利用CORS,而这个方法关键是在服务器端进行配置。本文仅对能够完成正常跨域ajax响应的,最基本的配置进行说明。这样OPTIONS请求就能够通过了。至此为止,相当于仅仅完成了预检,还没发送真正的请求呢。

  5. form提交时,ajax上传文件并更新到&lt;input&gt;中的value字段

  6. ajax的cache作用

    filePath="+escape;},error:{alert;}});解决方案:1.加cache:false2.url加随机数正常代码:网上高人解读:cache的作用就是第一次请求完毕之后,如果再次去请求,可以直接从缓存里面读取而不是再到服务器端读取。

  7. 浅谈ajax上传文件属性contentType = false

    默认值为contentType="application/x-www-form-urlencoded".在默认情况下,内容编码类型满足大多数情况。在这里,我们主要谈谈contentType=false.在使用ajax上传文件时:在其中先封装了一个formData对象,然后使用post方法将文件传给服务器。说到这,我们发现在JQueryajax()方法中我们使contentType=false,这不是冲突了吗?这就是因为当我们在form标签中设置了enctype=“multipart/form-data”,

  8. 909422229_ajaxFileUpload上传文件

    ajaxFileUpload.js很多同名的,因为做出来一个很容易。我上github搜AjaxFileUpload出来很多类似js。ajaxFileUpload是一个异步上传文件的jQuery插件传一个不知道什么版本的上来,以后不用到处找了。语法:$.ajaxFileUploadoptions参数说明:1、url上传处理程序地址。2,fileElementId需要上传的文件域的ID,即的ID。3,secureuri是否启用安全提交,默认为false。4,dataType服务器返回的数据类型。6,error

  9. AJAX-Cache:一款好用的Ajax缓存插件

    原文链接AJAX-Cache是什么Ajax是前端开发必不可少的数据获取手段,在频繁的异步请求业务中,我们往往需要利用“缓存”提升界面响应速度,减少网络资源占用。AJAX-Cache是一款jQuery缓存插件,可以为$.ajax()方法扩展缓存功能。

  10. jsf – Ajax update/render在已渲染属性的组件上不起作用

    我试图ajax更新一个有条件渲染的组件。我可以确保#{user}实际上是可用的。这是怎么引起的,我该如何解决呢?必须始终在ajax可以重新呈现之前呈现组件。Ajax正在使用JavaScriptdocument.getElementById()来查找需要更新的组件。但是如果JSF没有将组件放在第一位,那么JavaScript找不到要更新的内容。解决方案是简单地引用总是渲染的父组件。

返回
顶部