$("#tja").click(function() {
var b = document.getElementsByName("test");
var a = document.getElementsByName("tj");
var arr = [];
for(var i=0;i<b.length;i++){
var t = a[i].value;
var n = b[i].value;
var c = {'name':n,'number':t};
var json_str = JSON.stringify(c);
//alert(json_str)
arr.push(json_str);
console.log(json_str);
console.log(arr);
}
//console.log(map);
//alert("结果:"+arr);
$.ajax({
type: "post",
url: 'productSelectJson.action',
data: {'test':json_str},
dataType: "json",
success: function(data){
var result = data;
alert(result);
},
error: function (err) {
alert("err:" + err);
}
})
})
代码如上,测试一直报error, 获取的json怎样传到后台?
http://blog.csdn.net/windxxf/article/details/7352181
这个可以看看有用没
你传的data里面的值是不是有问题,直接data:json_str试试
data里面是json格式的都行,你那样传值也是可以的。
你得先知道报错是什么东西,F12控制台,看看请求头 看看返回数据。
如果是4xx的错你就看看请求路径的错,看看传参对不对
如果是5xx的错那就是服务器的错,你就看看你服务对么
你的变量c本身就是json格式的数据,没别的需求,直接传递c这个变量就可以了。当然你那样处理也没问题,就是多次一举。
本身是json格式数据,你转成字符串,然后在push到数组里面,在用json格式拼起来!!! json绕地球一圈回到json
$.ajax({
type: "post",
url: 'productSelectJson.action',
data: c,
dataType: "json",
success: function(data){
var result = data;
alert(result);
},
error: function (err) {
alert("err:" + err);
}
})
error:function(XMLHttpRequest, textStatus, errorThrown){
alert("失败");
alert(XMLHttpRequest.status);//200客户端请求已成功
alert(XMLHttpRequest.readyState);//4响应内容解析完成,可以在客户端调用了
alert(textStatus);//parsererror
alert(errorThrown);//错误类型
}
用这个试一试
推荐postman测试接口,看看接口是不是有问题