0

我正在尝试<li>使用 json 和 Jquery 将列表传递给 Web 方法。我的目标是使用会话变量将此列表返回给 C#。我的问题是会话返回始终为空。所以这个列表永远不会传递给 Web Method。名单:

<div>    
      <ol id="mycart">      
      <li>iPhone</li>
      <li>iPod</li>
      <li>iPad</li>
        </ol> 
         </div>
 <input type="button" id = "btngetCart" value="Get cart" />

Json 脚本:

<script type="text/javascript">

        $("#btngetCart").live("click", function () {

            var items = $('.mycart').find('li').map(function() {
  var item = { };


  item.title = $(this).text();

  return item;
});
var json = JSON.stringify(items);

            $.ajax({

                type: 'POST',

                url: "WebForm4.aspx/GetCart",

                data: "{json}",

                contentType: 'application/json; charset=utf-8',

                dataType: 'json',

                success: function (r) {



                }

            });

        });

    </script>

网络方法:

public class mycart
        {
            private string[] title;

        }
          [WebMethod(EnableSession = true)]
        public static mycart GetCart(mycart title)
        {
            HttpContext.Current.Session["j"] = title;
            return title;


        }
4

1 回答 1

0

这里的错误:

html : <ol id="mycart">   has id attribute

var items = $('.mycart') //used class, which does not exists, try this:

var items = $('#mycart')

AND change 
data: "{json}",
to
data: json,
于 2013-08-28T09:56:38.583 回答