2 xixidabai xixidabai 于 2017.09.18 12:06 提问

ajax 接收map集合 的value,key 值

java后台代码
图片说明

ajax
图片说明

浏览器中的日志
图片说明

3个回答

qq_33171970
qq_33171970   2017.09.18 14:29

这样直接把map放进去不行的吧,map没有转成JSON,js也不能识别,正常的解决办法是:
在后台代码用JSON把map对象转成JSONString,把JSONString赋值给images,然后在前台拿到images的值也就是你定义的listimages之后,使用JSON.parse(listimages),就能获取到js的键值对对象了。

qq_33171970
qq_33171970   2017.09.18 14:38

比如说这个,这里的result是ArrayList,和map稍有不同,下面分别是后端返回,和js解析

                result = JSONArray.toJSONString(blogList, SerializerFeature.UseSingleQuotes);
                Map<String,Object> response = new HashMap<String, Object>();
        response.put("result",result);
        return response;

      $.ajax({
                async : false,
                type : 'POST',
                url : address+'getUserBlogs',
                data : user,
                dataType : 'json',
                success : function(result) {
                    blogs = result.result;
                },
                error : function(result) {
                    alert('服务器异常');
                }
            });
            if(blogs!==''){
                blogs = eval('('+blogs+')');
                //解析之后的blogs是一个对象数组
            }

Map与List封装和解析的方式差不多,Map好像还更简单一些,你可以参考一下

xixidabai
xixidabai   2017.09.18 16:36

已解决

var listimages=result.extend.images;
alert(listimages);
console.log(result);

var Data=listimages;

for(var key in Data) {

                  $("#image"+key).qrcode({

text: Data[key],

                        size:100
                    });
                 }
Csdn user default icon
上传中...
上传图片
插入图片