如何将表单转换成json通过AJAX传递?

抖M葱头 发布于 2016/03/11 12:16
阅读 3K+
收藏 0
前台是一个单选题表单,前台控件命名大概是这样,
 <input type="hidden" name='question[0][id]' value='111'>问题1
 <input name='question[0][answer]' value='A'>...
 <input type="hidden" name='question[1][id]' value='222'>问题2
 <input name='question[1][answer]' value='C'>...
我想把表单转化成如下json格式,通过AJAX传到后台验证:
{
    "question":  [
        {
            "id":  "111"
        ,   "answer":     "A"
        }
    ,   {
            "id":  "222"
        ,   "answer":     "C"
        }
    ]
}
请问要怎么转成json传过去呢?主要不清楚如何转化,ajax就一直传不过去
加载中
0
抖M葱头
抖M葱头

引用来自“总有逗比想害朕”的评论

我也碰到这个问题了,LZ搞好了吗?
var a = JSON.parse("{\"question\":[],\"user\":[]}");
 			var QstObj = {
 				questionId:"",
 				currectAnswer:""
 			}
 			var UserObj = {
 				userType:""
 			}
 			
 			var q_Sum = $("li").length;
 			for(var i = 0; i < q_Sum;i++){
 			var j = i+1;
 			var QstObj = new  Object();
 			var UserObj = new Object();
 			QstObj.questionId = $("#questionId"+i).val();
 			QstObj.currectAnswer = $(".q"+j).find(".checked > input").val();
 			a.question.push(QstObj);
 			}
 			UserObj = GetToken();
 			UserObj.userType = "0";
			a.user.push(UserObj);
    	 	        var obj=JSON.stringify(a);
			
			}

看过一篇文章有写前台如何封装json串,主要是运用了json数组的特性,新建json串和对应的对象,将对象的属性写入对象中后再把对象push到json中,最后利用json的stringify方法压缩为字符串就可以通过ajax传输了,这里我还封装了一个user对象,方法大同小异,如有不足,请指正~



总有逗比想害朕
总有逗比想害朕
嗯,我用jquery的方法, var formData = {}; var t = $("#dataForm").serializeArray(); $.each(t, function() { formData[this.name] = this.value; }); var param = JSON.stringify(formData);
0
开源中国首席段子手
开源中国首席段子手

jQuery->serialize()->序列表表格内容为字符串


0
wangkang80
wangkang80

引用来自“开源中国首席段子手”的评论

jQuery->serialize()->序列表表格内容为字符串


正解
0
抖M葱头
抖M葱头

引用来自“开源中国首席段子手”的评论

jQuery->serialize()->序列表表格内容为字符串


我之前就用了serialize(),但是并没有得到我想要的json串,在后台使用getParameter("data")也没有得到数据。这是我的ajax:

  var data = {};
    var t = $('form').serializeArray();
    $.each(t, function() {
        data[this.name] = this.value;
      });
$.ajax({
type: "post",   
url: "question!isRight.do",
data: {'data': data},        
dataType: 'json',

在调试时的结果如下:并没有变成我想要的json格式

0
总有逗比想害朕
总有逗比想害朕
我也碰到这个问题了,LZ搞好了吗?
0
MrJackYang
MrJackYang
发送请求没问题么?》
返回顶部
顶部