后台像前台传值时遇到一个问题:
坑1 使用console.log打印后台传来的json值时只显示[object Object],而不是json格式的值。
//ajaxPost是简单封装后的方法
ajaxPost(queryList, {
"page" : curPage,
"rows" : pageSize
}, function(data) {
console.log("结果是"+data);
});
使用console.log打印后台传来的json值时只显示[object Object],而不是json格式的值。
原因:
猜测原因是字符串与data连接时自动转型为字符串了。
解决:
ajaxPost(queryList, {
"page" : curPage,
"rows" : pageSize
}, function(data) {
console.log(data);
});
坑2 mybatis报错“元素内容必须由格式正确的字符数据或标记组成”
代码:
<select id="groupByMoney" resultType="hashmap">
select count(*) as count,level from(
select
(case
when registeredcaptial < 1000000 then 'LEVEL1'
when
registeredcaptial>=1000000 and registeredcaptial<2000000 then 'LEVEL2'
when registeredcaptial>=2000000 and registeredcaptial<3000000 then
'LEVEL3'
when registeredcaptial>=3000000 then 'LEVEL4'
end )
as level from
_company ) a
group by level
</select>
原因:
xml中的“<”、“>”被当做标签处理了,需要处理一下,类似于转义字符
解决:将包含<>
的用<![CDATA[ 语句 ]]>
包起来。
代码:
<select id="groupByMoney" resultType="hashmap">
select count(*) as count,level from(
select
(case
<![CDATA[when registeredcaptial < 1000000 then 'LEVEL1'
when
registeredcaptial>=1000000 and registeredcaptial<2000000 then 'LEVEL2'
when registeredcaptial>=2000000 and registeredcaptial<3000000 then
'LEVEL3'
when registeredcaptial>=3000000 then 'LEVEL4'
end ]]>)
as level from
_company ) a
group by level
</select>