Maison  >  Article  >  interface Web  >  Comment passer un tableau en arrière-plan en ajax

Comment passer un tableau en arrière-plan en ajax

php中世界最好的语言
php中世界最好的语言original
2018-03-31 15:08:2410023parcourir

Cette fois, je vais vous montrer comment ajax transfère un tableau en arrière-plan. Quelles sont les précautions pour qu'ajax transfère un tableau en arrière-plan. Ce qui suit est un cas pratique, jetons un coup d'œil.

Préface

Nous utilisons ajax pour soumettre de manière asynchrone la boîte de sélection multiple afin d'obtenir l'ID de l'objet qui doit être exploité. À ce stade, nous pouvons mettre chaque objet Make an avec l'identifiant, puis le mettre dans un tableau, puis utiliser JSON.stringify() pour formater le tableau en json en arrière-plan, analyser notre json chaîne dans le inputStream, puis utilisez simplement :

new JSONArray()Obtenez le tableau json et la boucle pour analyser les attributs que nous voulons :

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[&#39;book_id&#39;] = countsCheckBox[i].value; 
 booksid[i] = mysendbook_id; 
 } 
 //alert(booksid); 
  var confirmdel= confirm(&#39;确认要删除吗?&#39;); 
  if(confirmdel){ 
  //开始请求删除 
   $.ajax({ 
     url:&#39;selectdelbooks&#39;, 
     data:JSON.stringify(booksid), 
     type:&#39;post&#39;, 
     success:function(res){ 
      alert("删除成功"); 
     location.replace("/TheDemo/books/pageBooksShow"); 
     } 
     }); 
  }

Dans le js ci-dessus, nous mettons chaque identifiant sélectionné dans un "book_id" de l'attribut mysendbook_id, puis placez cet objet dans le tableau booksid ; lors de l'envoi d'une requête asynchrone, utilisez

JSON.stringify(bookid) pour formater le tableau booksid et obtenir un tableau json.

Regardez comment nous le recevons en arrière-plan :

La première consiste à faire une liste dans une classe. Cette liste contient une classe avec un seul attribut appelé bookid, puis utilisez L'annotation @RequestBody est ajoutée à ce paramètre. Mais c'est plus gênant ;

Une autre façon consiste à obtenir des données du flux d'entrée, à utiliser IOUtils.toString pour convertir le flux d'entrée en chaîne, puis à utiliser new JSONArray(mybooksid); pour obtenir le tableau json

pour obtenir La valeur d'attribut de chaque book_id dans json est

<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>

De cette façon, nous obtenons une liste avec la valeur d'identifiant que nous avons sélectionnée.

Informations dans la base de données :

Sélections multiples sur la page :

La sélection obtenue en arrière-plan Identifiant du livre :

Je pense que vous maîtrisez la méthode après avoir lu le cas dans cet article. Pour des informations plus intéressantes, veuillez prêter attention aux autres articles connexes sur le. Site Web chinois PHP !

Lecture recommandée :

Comment implémenter l'effet de pagination AJAX

Comment soumettre un formulaire en utilisant Ajax et recevoir les données json

Ajax pour implémenter le chargement infini de listes et d'options de menu déroulant secondaire (avec code)

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn