ビューからコントローラアクション関数にデータを転送する際に助けが必要です。私の場合は次の通りです: 私はチェックボックス付きのテーブルを持っています。各テーブルエントリは、要求IDを持つ要求に対応します。ユーザーはいくつかのチェックボックスを選択し、「承認」ボタンをクリックします。ボタンをクリックすると、jQueryスクリプトは選択されたすべてのリクエストIDを見つけてコントローラ機能に送信する必要があります。Web2pyでjqueryを使用してビューからコントローラへのデータ転送方法
function get_selected_req(){
var ids = [];
jQuery('#sortTable1 tr').has(":checkbox:checked").each(function() {
var $row = $(this).closest("tr");// Finds the closest row<tr>
$tds = $row.find("td:nth-child(2)"); // Finds the 2nd <td> element
ids.push($tds.text());
$('#out').text(ids.join('|'));
});
}
Iは、次にIDを使用して要求を処理することができるコントローラ機能に配列「IDS」を送信する必要が:
ここでjQueryのコードです。しかし、私はそれをどうやって行うのか分かりません。どんな助力も高く評価されます。
更新: 私はビューにajaxコードを書いています。私は一度に1つのIDだけを送信しています。コードは次のようになります。
$.ajax({
type: 'POST',
url: "{{=URL(r=request, c='admin',f='approve_request')}}",
data: $tds.text(),
success: function(data){ alert('yay');
tab_refresh();
check_resource(data);
}
});
コントローラ内のデータを解析する方法がちょっと残っています。コードは次のとおりです。
def approve_request():
request_id=request.args[0]
enqueue_vm_request(request_id);
session.flash = 'Installation request added to queue'
redirect(URL(c='admin', f='list_all_pending_requests'))
私をご案内してください。 #out
入力
こんにちは。返信いただきありがとうございます。私はコードを変更しました。しかし、データをビューからコントローラに転送するコードはわかりません。つまり、URLを使用してアクション関数を呼び出す必要があります。 –
@AnmolAnand簡単なフォームを使用して – madalinivascu
またはajaxリクエスト – madalinivascu