2016-06-24 5 views
1

jspページでx-editableのブートストラップグループの投稿データにオブジェクトの配列を追加しようとしています。x-editable合計AJax POSTデータに「array」を追加送信

私はテーブルからデータを回復し、オブジェクトの配列を構築します。その後、この配列をページの編集可能変数によって投稿された他の値のリストに追加する必要があります。

id = "user"のhtmlテーブルがあり、このコードはそこからデータを復元し、オブジェクトの配列を作成します。これは動作し、正しいオブジェクトを生成し、私のコードです:

function recover_data() { 
    console.log("Starting recover"); 
    var beneficiary_list = []; 
     $('.lav').each(function() { 
     var obj = {'company': $(this).attr('id'), 'num':$(this).text() }; 
     beneficiary_list.push(obj) 
     }); 
    console.log(beneficiary_list); //output to check array produced    
    return beneficiary_list; 
}; 

この関数は、私はそれが起動し、保存ボタンから呼んで私のグローバルページで編集可能なすべてのデータを取得し、「のparamsに追加提出「アレイは、このように、recover_data()から返される:

jQuery('#data a').editable('submit',{ 
     url:'test/prove/data_received', 
     params: function(params) { 
      params.beneficiary = recover_data(); 
      return params; 
     }, 
     success:function(resp){ ... } 

    }) 

しかしポストマン(クロム)POSTに生成された出力を有する試験は、アレイなしです。 「編集可能」データのみが提出されますが、その値の配列を持つ「受益者」フィールドは追加されません。

"beneficiary": [0: company: "1", num: "22" ..etc..] 

がどのように私は私が示してきたことのように、editablesのグループから生成されたPOSTデータへのオブジェクトの配列を「追加」することができますように欠けているフィールドがなければなりませんか?このページを見ると

が動作しない理由私は理解していない

Question on github x-editable page

可能です...私はvitaletsから第2のポストに書かれた例に従う、と彼は書いた:

editable({ 
... 
params: function(params) { 
    params.checked = ... //get array of checked values 
    return params; 
} 
}); 

私は何が必要なのかを説明します:私は、受取人がどこにあるかを示す "ArrayList beneficiary"フィールドと、いくつかのフィールド(ページ内の他の編集可能なもの)を持つmodelViewオブジェクト(POJO) 2つの偽の小さなオブジェクトLDS "会社" と "NUM"

public Class Beneficiary{ 
    private String company; 
    private String num; 

    //then get e set methods.. 
} 

代わりに、私のPOJOのようなものです:コンソールで

import java.util.ArrayList; 
import Beneficiary; 

public class Module { 

    private Integer id; 
    private String titolo; 
    private String companyRating; 
    private ArrayList<Beneficiary> beneficiary; 


    //get e set methods 

が、私はその声のための正しいオブジェクトを取得

capture from console

が、ポストオブジェクトのようなものではない

incorrect post

代わりに、私は、URLを投稿する生成される出力「受益者」フィールドには、私は私のJSPからそのオブジェクトのリストを取得することができますどのようにこの例に似たもの(インターネット上で見つかった)

correct

であることを必要とします送信時にページ? 誰かが私を助けることができますか?

答えて

1

paramsは編集可能なオブジェクトの場合はoptionですが、これをajax呼び出しのオプションとして使用しています。fiddle作業

$('.editable').editable('submit', { 
    data: {beneficiary: recover_data()}, 
    success:function(resp){ ... } 
}); 

$('#data a').editable({ 
    url: "/post" 
}); 

、その後submit()(あなたの編集可能なすべてのオブジェクトのためのノートセレクタ):

あなたのコードは次のようになります。ログを見るにはコンソールをチェックしてください

+0

これを行っても、動作しないでください。 。私はdocument.ready()メソッド$( '#データa')編集可能な(に書いた{ のparams:機能(のparams){ params.beneficiary = recover_data(); リターンのparamsを、 }} );しかし、動作しません...配列は出力POSTリクエストに存在しません...そして、recover_data()メソッドは起動しません(コンソールには出力がありません)。 – Domenico

+1

@Domenico check fiddle – Yuri

+0

ゆり、あなたの努力と時間に感謝します!私はフィドルをチェックしましたが、出力は私が必要なものではありません。私はアウトプットがオブジェクトの配列である "受益者"という名前のフィールド、 "company"と "num"の2つのフィールドを持つオブジェクトのようなjsonであることを必要とします。私はここで私がここで説明した2つのフィールドを持つオブジェクトである "ArrayList 受益者"がほしいJavaサーブレットのmodelViewを使用するためです。そのリストはどのように取得できますか? – Domenico

関連する問題