代码如下:
 
function refersh_shopping_call_back(return_dt) {
        debugger;
        trolley_obj = return_dt;
        var prodcount = 0;
        debugger;
        $.each(trolley_obj.Rows, function(i, n) {
            if (!trolley_obj.Rows[i]['HasStock']) {
                not_exist_prod += trolley_obj.Rows[i]['ProductName'] + "<br>";
                not_exist_prodid.push(trolley_obj.Rows[i]['ProductID']);
            }
            if (trolley_obj.Rows[i]['ProductNum'] > trolley_obj.Rows[i]['Fororder']) {
                over_order += trolley_obj.Rows[i]['ProductName'] + "<br>";
            }
            prodcount += Number(trolley_obj.Rows[i]['ProductNum']);
        })        $('#fldiv .fldivstate div:first span:first').text(prodcount);
        $('#trolley span:first').text(prodcount);        if (para == 1) {
            add_Shoping_car_call_back(return_dt);
        }
        if (is_car_exist == 1) {
            showCar();
        }
    }这个是做添加购物车功能,是学习别人的网站的demo,我后台是拼装json串序列化后传递的,但是不知道这个方法return_dt明显是要传递一个datatable,但是这如何传呀!用的是jquery1.3.1,请高手解围!

解决方案 »

  1.   

    汗,怎么会传一个DataTable楼主上Google查下:Datatable转Json。你就会明白怎么做了
      

  2.   

    trolley_obj = return_dt;$.each(trolley_obj.Rows, function(i, n) {...}转成了json传过去了,而且也接收到了数据,但是这个只是json数据,trolley_obj.Rows?这个属性是怎么弄来的呢?
      

  3.   

    不是吧,传回来的值可能是这么个形式而已,这种形式你把看成XML或是字符串拼接一样处理,不要看形式,要看实质----个人理解,不对请指正<table>
    <tr><td>1</td><tr/>
    <tr><td>2</td><tr/>
    <tr><td>3</td><tr/>
    <tr><td>4</td><tr/></table>
      

  4.   

    base.js中包含:function myParseDataTable(raw_obj)
    {var i,j;var dt=new DataTable();copyDT(dt,raw_obj);for(i=0;i<dt.Columns.Count;i++)
    if(dt.Columns[i].DataType=='System.DateTime')
    for(j=0;j<dt.Rows.Count;j++)
    dt.Rows[j][dt.Columns[i].ColumnName]=myParseDateTime(dt.Rows[j][dt.Columns[i].ColumnName]);return dt;function copyDT(dt1,dt2)
    {dt1.TableName=dt2.TableName==undefined?"table1":dt2.TableName;var a_dr=dt1.NewRow();var a_dc=new DataColumn();for(var i=0;i<dt2.Columns.length;i++)
    {dt2.Columns[i].Clone=a_dc.Clone;dt2.Columns[i].Find=a_dc.Find;dt1.Columns.push(dt2.Columns[i]);}
    dt1.Columns.Count=dt1.Columns.length;dt2.Rows.Find=dt1.Rows.Find;for(var i=0;i<dt2.Rows.length;i++)
    {dt2.Rows[i].Clone=a_dr.Clone;dt2.Rows[i].toJSON=a_dr.toJSON;dt1.Rows.Add(dt2.Rows[i]);}}}
    jQuery.extend({LT_AJAX:function(op,data,callback,module_name){var ws_file;if(module_name!=undefined)
    ws_file=module_name+".aspx";else
    ws_file="/web_service/user_ws.aspx";return jQuery.post(ws_file+"?op="+op,{data:JSON.stringify(data)},function(r_data){callback(myJSONparse(r_data))});}});function _lt_click_stat(lt_stat_id)
    {if(typeof lt_page_id=='undefined')
    return;$.get("/web_service/click_stat.aspx?op=save_stat&pid="+lt_page_id+"&cid="+lt_stat_id+"&rand="+Math.random());}
    $(document).ready(function(){$("[lt_stat_id]").click(function(){_lt_click_stat($(this).attr("lt_stat_id"));});});function getMicroTime()
    {var now=new Date();return now.getTime();}调用方法是:$.LT_AJAX("cart_get", null, refersh_shopping_call_back, "user_cart");
    调用页面的值返回的都是josn串,不知道这里面是不是有一种转换呢
      

  5.   

    你把得到的数据直接拼接Html字符串,最后把拼好的字符插入页面
      

  6.   

    传过来的是这种格式:[{attrName:"款式",selectValue:[{valueId:"59",title:"长袖"},{valueId:"60",title:"九分"}]}] ,我在后台转化成json了的,这个肯定不会是datatable了呀
      

  7.   

    要将datatable对象转换成json对象在C#中可以用 JavaScriptSerializer 这个类的Serialize方法。