0

データベースにアイテムのリストがあります

ITEMS
  I_id int,
  I_name varchar(50),
  I_order int

ulliで表示しました

<ul id='items'>
   <li><span class='txt'>item-1</span> <span class='mOrder'>1</span></li>
   <li><span class='txt'>item-2</span> <span class='mOrder'>2</span></li>
   <li><span class='txt'>item-3</span> <span class='mOrder'>3</span></li>
   <li><span class='txt'>item-4</span> <span class='mOrder'>4</span></li>
   <li><span class='txt'>item-5</span> <span class='mOrder'>5</span></li>
   <li><span class='txt'>item-6</span> <span class='mOrder'>6</span></li>
   <li><span class='txt'>item-7</span> <span class='mOrder'>7</span></li>
   <li><span class='txt'>item-8</span> <span class='mOrder'>8</span></li>
   <li><span class='txt'>item-9</span> <span class='mOrder'>9</span></li>
</ul>
<input type='button' id='btnSave' value=' Save order ' />

jquery ソート可能プラグインでソート

$(".items").sortable({
   $(".items li").each(function () {
       var OrderNum = (parseInt($(this).index()) + 1);
       $(".mOrder", this).html(OrderNum);
   });
});

今、新しい注文を保存したい
データベースのレコードを更新するためのsaveOrder.ashxファイルがあります
ajaxでデータを送信中に問題が発生しました
私は以下のようにしようとしています

$("#btnSave").click(function(){
    var arr=[];
    $(".items li").each(function () {
        arr.push({'m'+$(this).index():$(".txt",this).html()});
        //m0:item1, m1:item2,....
    });
    $.ajax({
         url:'',
         data:arr;//here is problem
    });
});

これを送信していますが、saveOrder.ashx でアクセスできません。別の方法を試すことができます

4

1 に答える 1

0

私は2つの答えを持っているかもしれません:

  1. 配列を JSON オブジェクトでラップします。

    URL:''、データ: {'arrayofObjects':arr}

  2. JSON.stringify()

    URL:''、データ: JSON.stringify(arr)

追加:

  1. JSON.stringify() + JSON オブジェクトのラップ

    URL:''、データ: JSON.stringify({arrayofObjects:arr})

于 2013-09-26T21:34:05.787 に答える