代码:// 购买
    $('#buybtn').click(function() {
        debugger;
        //pageTracker._trackPageview("/ga_detail_frche" ); 
        is_car_exist = 0;
        //_lt_click_stat('prod_buyit');
        //if (siteID == "2" && $('#product_ID').text().length == 9) {
        if (siteID == "2" && $('#product_ID').text().length == 2) {
            debugger;
            divshoesnum('prod_addsc2');  //弹出层的提示  选择鞋码            $('#btnchoiceNum').click(function() {
                _lt_click_stat('prod_addsc2_ok');
                $('#buybtn').click();
            });
            return false;
        } else if (siteID == "2" && $('#product_ID').text().length > 2) {
            debugger;
            //$('#buywrg').text("");
            if (Number($('#buy_num').val()) <= 0)
                return false;
            var title_str = '<div style="width:458px;">'
+ '<div style="display:inline;"><img src="/letao/images/checkout/item03.gif" width="28" height="28" align="absmiddle" /></div>'
+ '<div style="display:inline;"><span style="color:#c12000; font-size:14px;font-weight:normal; line-height:28px;">正在放入购物车</span></div></div>';
            var content_str = '<div style="width:458px;height:83px; text-align:center;">';
            content_str += '<div style="color:#c12000; font-size:14px;font-weight:normal; padding-top:30px;"></div>';
            content_str += '<div style="color:#595757; font-size:12px;font-weight:normal;padding-top:5px;">正在放入您的购物车,请稍候……</div></div>';
            var state_str = '<div style="width:458px; height:44px;clear:both;display:none;"><div style="font-size:12px; padding:15px 27px; float:left;">'
+ '<a lt_stat_id="detail_frcheok_jixu" href="#" onclick="javascript:_lt_click_stat(\'detail_frcheok_jixu\');" >继续购物</a>   <a lt_stat_id="pop_check_trolley" onclick="javascript:_lt_click_stat(\'pop_check_trolley\')"; href="#">查看购物车(<span style="color:#c12000">3</span>)</a></div>'
+ '<div style="padding:8px 10px; float:right">\n';            state_str += '<a lt_stat_id ="detail_frcheok_qujiezhang" onclick="javascript:_lt_click_stat(\'detail_frcheok_qujiezhang\'); " href="net_pay_zu.aspx" >\n';            state_str += '<img border="0" src="/letaozu/images/shoes/btn09.gif" width="105" height="28" />';            state_str += '</a></div></div>';
            debugger;
            fldiv({ title: title_str, content: content_str, state: state_str }, { drag: true, breakoff: true, scrolling: false });            add_Shopping_cart();
            debugger;
            return false;
        }
    })    function add_Shopping_cart() {
        debugger;
        var prod_ID = $('#product_ID').text();
        var prod_Num = 1;        if (!isNaN($('#buy_num').val()))
            prod_Num = $('#buy_num').val();        para = 1;        // $.LT_AJAX("cart_add", [prod_ID, prod_Num], car_add_call_back, "user_cart");
        $.LT_AJAX("cart_add", [prod_ID, prod_Num], car_add_call_back, "userCart");
        debugger;
    }
    function car_add_call_back(return_al) {
        debugger;
        if (return_al[0] == 'SUCCESS')
            refersh_cart();
        debugger;
    }
    function refersh_cart() {
        var prod_ID = $('#product_ID').text();
        // $.LT_AJAX("cart_get", null, refersh_shopping_call_back, "user_cart");
        $.LT_AJAX("cart_get", null, refersh_shopping_call_back, "refresh_dt");
    }    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();
        }
    }    function add_Shoping_car_call_back(return_dt) {
        debugger;
        $('#fldiv .fldivtitle img:first').attr('src', '/letaozu/images/checkout/item02.gif');
        $('#fldiv .fldivtitle span:first').text('成功放入购物车');
        if (siteID == 2)
            $('#fldiv .fldivcontent div:last').html('恭喜!本次购买为您<font style="color:#FF319C">节省' + parseInt($('#total_discount').val()) * parseInt($("#buy_num").val()) + '元</font>');
        else if (siteID == 1)
            $('#fldiv .fldivcontent div:last').text('已放入您的购物车。');
        $('#fldiv .fldivstate div:first').show();
        $('#fldiv .fldivstate a:first').click(function() {
            $('#fldiv #flcontent .fldivclose').click();
            return false;
        });
        $('#fldiv .fldivstate a:eq(1)').click(function() {
            //pageTracker._trackPageview("/ga_detail_frcheok_chakan" ); 
            $('#fldiv #flcontent .fldivclose').click('test');
            $('#trolley').click();
            return false;
        });
        $('#fldiv .fldivstate a:last').click(function() {
            $('#fldiv #flcontent .fldivclose').click();
        });
        refersh_num(return_dt)
    }
    // 购物车
    $('#trolley').click(function() {
        debugger;
        is_car_exist = 1;
        var positin = $('#trolley').offset();
        _position = positin;
        _positionTop = _position.top + 30 + $(document).scrollTop();
        if (trolley_obj == undefined) {
            refersh_cart();
        }
        debugger;
        //pageTracker._trackPageview("/ga_top_che" ); 
        if (trolley_obj != null && trolley_obj.Rows.Count > 0) {
            showCar();
        } else {
            if (trolley_obj == "undefined" || trolley_obj == undefined) {
                var title_str = '';
                var content_str = '<div style="width:458px; height:44px; padding:30px 0px 0px; font-size:16px; color:#c12000; text-align:center;">'
+ '<img src="shonyweiye/NewImages/wrang.gif" align="absmiddle" /> 提示:您的购物车是空的。</div>';
                var state_str = '<div style="width:458px; height:41px;clear:both; padding-top:13px; font-size:12px; color:#595757; line-height:1.2em;">'
+ '<div style="float:left;text-align:right; width:128px;">购物车说明:</div>'
+ '<div style="float:left;">当您看到喜欢的商品时,可以先放入“购物车”,<br />购物车内可放置多件商品,以便最终一起结账。</div></div>';                fldiv({ title: title_str, content: content_str, state: state_str }, { drag: true, y: _positionTop, breakoff: false, scrolling: false });            }
        }        return false;
    })问题:我测试的数据是这种格式:  StringBuilder Json = new StringBuilder();         Json.Append("{\"" + "test" + "\":[");        Json.Append("{");        Json.Append("\"" + "vlc" + "\":\"" + "jopsd" + "\"");        Json.Append(",");         Json.Append("\"" + "dsf" + "\":\"" + "fsdf" + "\"");         Json.Append("}");         Json.Append("]}");        Response.Write(Json.ToString());
 function refersh_shopping_call_back(return_dt) {
return_dt得到一个null值,这个格式如何写呀

解决方案 »

  1.   

    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']); 
    }) 求的是json写法,return_dt返回的就是一个dt,json 格式如何写才能是对的呢?
     下面这个格式是我写的:[{ "TABLE":[{ "ROW":[ { "COL":[ {"DATA":"52"},{"DATA":"100"},{"DATA":"北京老布鞋二代"},{"DATA":"100"}]} ]}]}],不正确
      

  2.   

        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();
            }
        }
      

  3.   

    http://topic.csdn.net/u/20100116/10/0aef0c0b-4bc5-47a4-a25b-a07f3e95031b.html
      

  4.   

     System.Web.Script.Serialization.JavaScriptSerializer j = new System.Web.Script.Serialization.JavaScriptSerializer();
                Response.Write(j.Serialize(obj对象));
                Response.End();
      

  5.   

    Response.Write("[\"cool:[{'test':52}]\"]");这种格式时候,能得到返回值,但是不是dt,不可能有什么trolley_obj.Rows属性呀,我用了很多datatabletojson的转换方法,转化后格式都不对,没有返回值,还报格式错误
      

  6.   

    bisu已經洗完去了哇 哈哈哈哈
      

  7.   

    BISU已經洗碗去了哇哈哈哈哈哈哈
      

  8.   

     StringBuilder retVal = new StringBuilder();
            retVal.Append("{list:[");
            using (SqlDataReader reader = db.ExecuteReader(CommandType.Text, sql))
            {
                while (reader.Read())
                {
                    retVal.Append("{");
                    for (int i = 0; i < reader.FieldCount; i++)
                    {
                        retVal.AppendFormat("{0}:'{1}'{2}", reader.GetName(i).Trim(), reader[i].ToString().Trim(), i == reader.FieldCount - 1 ? "" : ",");
                    }
                    retVal.Append("},");
                }
            }
            retVal.Remove(retVal.Length - 1, 1);
            retVal.Append("]}");
            return retVal.ToString();
    这种格式不对,根据这个function返回的是一个datatable结构的json串,但是好多这样的方法转化后,格式都是不正确的哦
      

  9.   

    例如这种格式就是我的一个DataTableToJson方法生成的:[{"ProductID":"52","HasStock":"100","ProductName":"北京老布鞋二代","ProductNum":"100"}],
    这种数据在return_dt中返回的是null
      

  10.   

    [{"ProductID":"52","HasStock":"100","ProductName":"北京老布鞋二代","ProductNum":"100"}]