html代码:
后台方法代码:
提示的错误信息:
前端传的json和后端接收的方式都要改下:
json数据改成:
var data ={
"list":[{"Name":"铁","id":"1"},{"Name":"镁","id":"2"},{"Name":"锌","id":"3"},{"Name":"铜","id":"4"}]
};
后端接收:
exportExcel(Map data){
Object list = data.get("list");// list 为一个List类型
...//处理list
}
有可能是同名问题吧?建议你换个参数名试试
webservice传递这种字符串,你那样是数字肯定不对了吗
data={"querys1":"2","querys2":"3"}''
除非你改成下面的接收数组
public class QueryItem { public string querys1, querys2; }
.....exportexcel(System.Collections.Generic.List<QueryItem>).....
1.我用这个传就没问题,data = '{"querys1":"2","querys2":"3"}';
2.用这个传就有问题,data = '[{"querys1":"2","querys2":"3"},{"querys1":"44","querys2":"55"}]';
求解答啊?
1中就是相当于一组。
2中就相当于多组,为啥多组就提示error:[object][object]
你第二个是数组呀--两组入参类型不同的,后台接收处理的时候第一个可以转化为map,
第二个就只能转化为List,你可以把第一外面也加个中括号才能表示传入的是一组数据,就和第二个类型一致了
不不不,他给你返回的是jsonArray,不是jsonObject
var data0 = [{"Name":"铁","id":"1",},{"Name":"镁","id":"2"},{"Name":"锌","id":"3"},{"Name":"铜","id":"4"}]; 类似这种试一试
对象:var foo={a:1,b:2}
对象数组:[{a:1,b:2},{c:3,d:4}]
{
"data": {},
"isSuccess": true,
"responseCode": "string",
"responseMessage": "string",
"warningMessage": "string"
}
data={
"变量1":"值1",
"变量2":6
}
变量要有引号,数值可以没有
组装json数据建议不要使用字符串拼接,如果是字符串拼接,请使用JSON.Pares(str)转换成json对象,另外推荐使用js的数组对象,示例如下:
var obj=[]
var item1=new Object();
item1.query1=1;
item1.query2=2;
obj.push(item1);
var item2=new Object();
item2.query1=1;
item2.query2=2;
obj.push(item2);