(1)微信小程序端代码
...
var dataArray = new Array();
dataArray.push("http://act/ticket/Tulips.jpg");
dataArray.push("http://XX.jpg");
console.log("dataArray。。。" + dataArray)
that.setData({
imageList: dataArray
})
httpUtil.getReq(
app.globalData.env,'xxx.json', header,
{
"imageList":that.data.imageList
},
function (res) {
...
},
(2)java 后台接受
@ResponseBody
@RequestMapping("/xx.json")
public ObjectResult ceatePostBillByUserList(
@RequestParam(required = true,value = "imageList") String [] imageList) {
logger.info("...");
ObjectResult objectResult = new ObjectResult();
List<String> sList = new ArrayList<String>();
for (String str : imageList) {
sList.add(str);
}
objectResult =service.xx(sList) ;
return objectResult;
}
(3)问题:接受参数错误
被坑,在java端接收到以后的不是数组了直接变为string,本来一直使用数组遍历,后来发现根本不行,
( 3 ) 解决方案
@ResponseBody
@RequestMapping("/ceate.json")
public ObjectResult<AppPostBillVO> ceate(
@RequestParam(required = true,value = "imageList") String images,
@RequestParam(required = true,value = "id")int id) {
logger.info("ceate...id:{},images:{}",id,images);
ObjectResult<AppVO> objectResult = new ObjectResult<AppVO>();
JSONArray obj = JSON.parseArray(images);
List<String> sList = new ArrayList<String>();
if (obj.size() > 0) {
for (int i = 0; i < obj.size(); i++) {
sList.add((String) obj.get(i));
}
}
objectResult = service.ceate(id,sList) ;
return objectResult;
}
1》后台接受类型修改为 String images
2》JSONArray 处理
JSONArray obj = JSON.parseArray(images);
List<String> sList = new ArrayList<String>();
if (obj.size() > 0) {
for (int i = 0; i < obj.size(); i++) {
sList.add((String) obj.get(i));
}
}