关于AJAX传json值到后台的问题

后台C#

 var s = '{"rows":[';
        var rows = $("#tt").datagrid("getRows");
        console.log("长度:"+rows.length);
        for (var i = 0; i < rows.length; i++) {
            s += '{"ID":"' + rows[i].id + '","name":"' + rows[i].name + '","number":"' + rows[i].number + '","date_single":"' + rows[i].date_single + '"},';
        }
        s += ']}';
                $.ajax({
            type: 'POST',
            url: "test_calendar.aspx/submit", 
            dataType: 'json',
            data:{jsonstring:s},
            contentType: "application/json; charset=utf-8",
            success: function (msg) {
                //msg是返回的结果,这里对返回值进行处理
            }
        });

后台怎么写?怎么接收?

newtonsoft.json.dll
下一个这个库,加入项目,然后利用JObject.parse()把字符串转换成JSON对象,通过key可取出对应的值。
不过我没有试过,我搞的Java,Java中有类似的用法,我去网上搜了一艘,找到了C#中类似的库。我觉得,如果你传JSON用的比较多,好好研究一下newtonsoft.json.dll,准没错。

这要看你后台用的是什么技术?php?java?。。。。。

java的话 request.getParameter就行了

后台 Requset["jsonstring"] 用json反序列化器 反序列化为对象

request.getParameter(”jsonstring“);获取到这个json

string jsonstring = HttpContext.Current.Request.Form["jsonstring"];

你可以构建一个具有相同结构的数据实体,然后用request.form(”jsonstring“),获取到json字符串之后,利用DataContractJsonSerializer相应的序列化和反序列化进行使用