ajaxを使ってバックグラウンドで配列の受け渡しをする方法を詳しく解説
この記事では主に、バックグラウンドでの配列の転送と受信に ajax を使用することに関する関連情報を紹介します。記事内の紹介は非常に詳細であり、必要な友人が一緒に学ぶことができます。
はじめに
操作する必要のあるオブジェクトのIDを取得するために、ajaxを使用して非同期に送信しています。このとき、IDごとにオブジェクトを作成して配置できます。配列に変換し、JSON.stringify() を使用します。配列を json としてフォーマットし、バックグラウンドで inputStream 内の json 文字列を解析し、次のように使用します。 JSON.stringify()
对这个数组进行json的格式化;在后台中再inputStream中解析出我们的json字符串,之后只用:
new JSONArray()
得到json数组,循环解析我们想要的属性:
var countsCheckBox = $("input[type='checkbox']:checked"); var booksid = []; for(var i=0;i<countsCheckBox.length;i++){ //使用[]取得元素是是一个domElement元素,取值需要使用.value, //如果使用countsCheckBox.eq(i) 则是一个Obkject元素,就可以使用val()取值 //alert(countsCheckBox[i].value); mysendbook_id = {}; mysendbook_id['book_id'] = countsCheckBox[i].value; booksid[i] = mysendbook_id; } //alert(booksid); var confirmdel= confirm('确认要删除吗?'); if(confirmdel){ //开始请求删除 $.ajax({ url:'selectdelbooks', data:JSON.stringify(booksid), type:'post', success:function(res){ alert("删除成功"); location.replace("/TheDemo/books/pageBooksShow"); } }); }
上面的js中我们把每一个选中的id放到一个mysendbook_id的“book_id”的属性中,再把这个对象放到booksid的数组中;到发送异步请求时使用
JSON.stringify(bookid)
格式化这个booksid数组,得到一个json的数组。
再看后台我们怎么接收:
一个是做一个类里面有一个list,这个list装的是只有一个属性为bookid的类,再使用注解@RequestBody
加到这个形参上。但是这样比较麻烦;
还有一种是从输入流里面获取数据,使用IOUtils.toString
把inputStream转为字符串,再使用new JSONArray(mybooksid);
new JSONArray() </code >json 配列を取得し、ループして必要な属性を解析します: </p><p></p><div class="code" style="position:relative; padding:0px; margin:0px;"><pre class='brush:php;toolbar:false;'><span style="font-family:SimSun;font-size: 10.5pt;"> </span><span style="font-family:KaiTi_GB2312;font-size:14px;"> @RequestMapping("selectdelbooks")
public String selectdelbooks(HttpServletRequest request) throws Exception {
ServletInputStream inputStream = request.getInputStream();
String mybooksid = IOUtils.toString(inputStream);
JSONArray jsonarr = new JSONArray(mybooksid);
List<String> book_id =new ArrayList<String>();
for (int i=0;i<jsonarr.length();i++){
book_id.add(((JSONObject)jsonarr.get(i)).getString("book_id"));
}...</span></pre><div class="contentsignin">ログイン後にコピー</div></div><p class="jb51code"></p>
<p> 上記の js では、選択した各 ID を mysendbook_id の "book_id" 属性に入れてから、このオブジェクトを非同期リクエストを送信する場合は、</p>
<p></p>
<code>JSON.stringify(bookid)
を使用して bookid 配列をフォーマットし、json 配列を取得します。
バックグラウンドでそれを受け取る方法を見てみましょう:
@ を使用します。 RequestBody
この仮パラメータに追加します。しかし、これはさらに面倒ですIOUtils.toString
を使用して inputStream を文字列に変換し、次に new JSONArray(mybooksid) を使用することです。 ;
code>この json 配列を取得します
で、各 json の book_id の属性値を取得します
このようにして、選択した ID 値を持つリストを取得します。
データベース内の情報:
ページ上の複数選択: バックグラウンドで取得される選択された本の ID:このようにして、ID のセットは次のようになります。が得られ、その後の操作が便利になります。
上記は私があなたのためにまとめたものです。 関連記事:
🎜🎜 Ajax が特殊文字を含むデータを渡す問題を解決する方法🎜🎜🎜🎜🎜 ローカル (ファイル プロトコル) AJAX リクエストをサポートするように Chrome を設定する (グラフィック チュートリアル) 🎜🎜🎜🎜🎜 AJAX ページングの簡単な実装エフェクト (グラフィックとテキスト) チュートリアル)🎜🎜🎜🎜🎜🎜🎜🎜🎜以上がajaxを使ってバックグラウンドで配列の受け渡しをする方法を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック











foreach ループを使用して PHP 配列から重複要素を削除する方法は次のとおりです。配列を走査し、要素がすでに存在し、現在の位置が最初に出現しない場合は、要素を削除します。たとえば、データベース クエリの結果に重複レコードがある場合、このメソッドを使用してそれらを削除し、重複レコードのない結果を取得できます。

PHP の配列キー値の反転メソッドのパフォーマンスを比較すると、array_flip() 関数は、大規模な配列 (100 万要素以上) では for ループよりもパフォーマンスが良く、所要時間が短いことがわかります。キー値を手動で反転する for ループ方式は、比較的長い時間がかかります。

多次元配列のソートは、単一列のソートとネストされたソートに分類できます。単一列のソートでは、array_multisort() 関数を使用して列ごとにソートできますが、ネストされたソートでは、配列を走査してソートするための再帰関数が必要です。具体的な例としては、製品名による並べ替えや、売上数量や価格による化合物の並べ替えなどがあります。

PHP で配列をディープ コピーする方法には、json_decode と json_encode を使用した JSON エンコードとデコードが含まれます。 array_map と clone を使用して、キーと値のディープ コピーを作成します。シリアル化と逆シリアル化には、serialize と unserialize を使用します。

PHP で配列のディープ コピーを実行するためのベスト プラクティスは、 json_decode(json_encode($arr)) を使用して配列を JSON 文字列に変換し、それから配列に戻すことです。 unserialize(serialize($arr)) を使用して配列を文字列にシリアル化し、それを新しい配列に逆シリアル化します。 RecursiveIteratorIterator を使用して、多次元配列を再帰的に走査します。

PHP の array_group_by 関数は、キーまたはクロージャ関数に基づいて配列内の要素をグループ化し、キーがグループ名、値がグループに属する要素の配列である連想配列を返すことができます。

Ajax (非同期 JavaScript および XML) を使用すると、ページをリロードせずに動的コンテンツを追加できます。 PHP と Ajax を使用すると、製品リストを動的にロードできます。HTML はコンテナ要素を含むページを作成し、Ajax リクエストはロード後に要素にデータを追加します。 JavaScript は Ajax を使用して XMLHttpRequest を通じてサーバーにリクエストを送信し、サーバーから JSON 形式で商品データを取得します。 PHP は MySQL を使用してデータベースから製品データをクエリし、それを JSON 形式にエンコードします。 JavaScript は JSON データを解析し、ページ コンテナーに表示します。ボタンをクリックすると、製品リストをロードするための Ajax リクエストがトリガーされます。

PHP の array_group() 関数を使用すると、指定したキーで配列をグループ化し、重複する要素を見つけることができます。この関数は次の手順で動作します。 key_callback を使用してグループ化キーを指定します。必要に応じて、value_callback を使用してグループ化値を決定します。グループ化された要素をカウントし、重複を特定します。したがって、array_group() 関数は、重複する要素を見つけて処理するのに非常に役立ちます。
