Heim > Artikel > Web-Frontend > Detaillierte Erläuterung der Methode zur Verwendung von Ajax zum Übergeben und Empfangen von Arrays im Hintergrund
Dieser Artikel führt Sie hauptsächlich in die relevanten Informationen zur Verwendung von Ajax zum Übertragen von Arrays und zum Empfangen im Hintergrund ein. Die Einführung im Artikel ist sehr detailliert und hat einen gewissen Referenz- und Lernwert für alle, die es brauchen zusammen.
Vorwort
Wir verwenden Ajax, um das Mehrfachauswahlfeld asynchron zu senden und die ID des Objekts zu erhalten, das bedient werden muss. Zu diesem Zeitpunkt können wir jedes Objekt mit der ID erstellen, es dann in ein Array einfügen und dann mit JSON.stringify()
das Array als JSON formatieren; im Hintergrund unsere JSON-Zeichenfolge im InputStream analysieren und dann einfach verwenden :
new JSONArray()
Holen Sie sich das JSON-Array und die Schleife, um die gewünschten Attribute zu analysieren:
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"); } }); }
In den obigen js fügen wir jedes ein Wählen Sie die ID in ein mysendbook_id-Attribut „book_id“ aus und fügen Sie dieses Objekt dann beim Senden einer asynchronen Anfrage in das Array „booksid“ ein. Verwenden Sie
JSON.stringify(bookid)
, um das Array „booksid“ zu formatieren und ein JSON-Array zu erhalten.
Schauen wir uns an, wie wir es im Hintergrund empfangen:
Eine besteht darin, eine Liste in einer Klasse zu erstellen, und diese Liste enthält nur ein Attribut: Die Klasse bookid wird diesem formalen Parameter mithilfe der Annotation @RequestBody
hinzugefügt. Dies ist jedoch problematischer.
Eine andere Möglichkeit besteht darin, Daten aus dem Eingabestream abzurufen, den InputStream mit IOUtils.toString
in einen String zu konvertieren und dann mit new JSONArray(mybooksid);
das JSON-Array
<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>Auf diese Weise erhalten wir eine Liste mit dem von uns ausgewählten ID-Wert . Informationen in der Datenbank:
So lösen Sie das Problem der Ajax-Übergabe von Daten mit Sonderzeichen
Konfigurieren von Chrome für die lokale Unterstützung (Dateiprotokoll) AJAX-Anfrage (grafisches Tutorial)
AJAX-Paging-Effekt ist einfach zu implementieren (grafisches Tutorial)
Das obige ist der detaillierte Inhalt vonDetaillierte Erläuterung der Methode zur Verwendung von Ajax zum Übergeben und Empfangen von Arrays im Hintergrund. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!