0

YIIを使用していて、データを「table [attr1] = 1&table [attr2] = 2&table [attr3] = 3」として送信するため、jqueryを使用してリクエストを行うには次のようにします。

 $.ajax({  
        url:"url",
        data:{
             'table[attr1]':1,
             'table[attr2]':2,
             'table[attr3]':3,
        },
        success:function(resp){
            //ok
        }
    });

しかし、私はこのデータを動的にjsonにする必要があります。私はこれを試しましたが、うまくいきませんでした。

$("input").each(function(){ //build the data json       
    form.table[this.name]=this.value;  //the name is 'attr1' , the value is 1
});  



     $.ajax({  
        url:"url",
        data:form, //send the JSON here
        success:function(resp){
            //ok
        }
    });

これにより、データが空になります

このjsonを構築する方法はありますか?

4

2 に答える 2

1

あなたはこのようにすることができます

var form = {}; // create object
$('input').each(function(){
    form[this.name] = this.value; // add name/value
});

フォームは、名前/値に応じてオブジェクトを保持し、要素名がtable[attr1]等であると仮定します

{
  'table[attr1]': 1,
  'table[attr2]': 2,
  'table[attr3]': 3,
}
于 2013-01-31T19:32:38.057 に答える
0

ここでは JSON は含まれていませんx-www-form-urlencoded。コードを機能させるには、最初にフォーム オブジェクトのテーブル プロパティを作成する必要があります。

var form = {table:{}};
$("input").each(function(){  
    form.table[this.name] = this.value;  //the name is 'attr1' , the value is 1
});
$.ajax({  
    url:"url",
    data:form, 
    success:function(resp){
        //ok
    }
});
于 2013-01-31T19:34:11.190 に答える