Ajax asynchroner Upload in JQuery
本篇文章给大家介绍jquery中的ajax异步上传,在此需要引入ajaxfileupload.js这个js文件。接下来,有需要的朋友一起学习吧
找了好久终于在网上找到了ajax异步上传文件的方法,不过网上大多数是php的 ,我改为struts2写的 大同小异,希望对学习java的人有一定的帮助。我上传的是音乐文件。
ajaxfileupload.js这个js文件是主要文件,一定要导入。
jsp页面 ,其中我还做了p的隐藏*****************************
<%@ page language="java" import="java.util.*" pageEncoding="UTF-8"%> <% String path = request.getContextPath(); String basePath = request.getScheme()+"://"+request.getServerName()+ ":"+request.getServerPort()+path+"/"; %> <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <base href="<%=basePath%>"> <title>Uploadify</title> <style type="text/css"> #p1{ color: #000000; font-size: 12px; border: 0px solid #74B3DC; color: #000; background: #fff; display:none; } </style> <script type="text/javascript" src="js/jquery-1.3.2.min.js"></script> <script type="text/javascript" src="js/ajaxfileupload.js"></script> <!-- 执行上传文件操作的函数 --> <script type="text/javascript"> function ajaxFileUpload(){ $.ajaxFileUpload( { url:'uploadAction.action', //需要链接到服务器地址 secureuri:false, fileElementId:'upload', //文件选择框的id属性 dataType: 'json', //服务器返回的格式 success: function (data, status) //相当于java中try语句块的用法 { // alert(data); var ss =data; // alert(ss); var mp3Name = ss.split(";"); for(var i=0; i<mp3Name.length;i++) { //alert(mp3Name[i]); $('#songName').val(mp3Name[0]); $('#songsiger').val(mp3Name[1]); } $('#result').html('添加成功'); }, error: function (data, status, e) //相当于java中catch语句块的用法 { //alert("222."); $('#result').html('添加失败'); } } ); target=document.getElementById('p1'); if (target.style.display=="block"){ target.style.display="none"; } else { target.style.display="block"; } } </script> </head> <body> <form method="post" action="uploadAction.action" enctype="multipart/form-data"> <input type="file" id="upload" name="upload"/> <input type="button" value="上传文档" onclick="ajaxFileUpload()"/> <p id="result"></p> <p id="p1"> 歌曲<input type="text" id="songName" name="songName" value=""> 歌手 <input type="text" id="songsiger" name="songName" value=""> <input type="button" value="提交文档信息" /> </p> </form> </body> </html>
action上传后台代码*************************************
package action; import java.io.File; import java.io.IOException; import java.io.OutputStream; import org.apache.commons.io.FileUtils; import org.apache.struts2.json.annotations.JSON; import org.farng.mp3.MP3File; import org.farng.mp3.TagException; import org.farng.mp3.id3.AbstractID3v2; import org.farng.mp3.id3.ID3v1; import org.farng.mp3.lyrics3.AbstractLyrics3; import com.base.BaseAction; import com.opensymphony.xwork2.ActionSupport; public class Upload extends BaseAction { private static final long serialVersionUID = -4848248679889814408L; private String fileName; private File upload; public File getUpload() { return upload; } public void setUpload(File upload) { this.upload = upload; } public void setUploadFileName(String fileName) { this.fileName = fileName; } /* * 歌曲上传 上传操作 */ public void uploadAction() throws IOException { System.out.println("进入了该方法!"); String targetDirectory = "D:\\upload"; System.out.println(upload); File target = new File(targetDirectory, fileName); FileUtils.copyFile(upload, target); String path = targetDirectory+"\\"+fileName; try { MP3File file = new MP3File(path);//1,lyrics AbstractID3v2 id3v2 = file.getID3v2Tag(); ID3v1 id3v1 = file.getID3v1Tag(); String ss = ""; if (id3v2 != null) { System.out.println("id3v2"); ss = id3v2.getAlbumTitle()+";"+id3v2.getSongTitle()+";"+id3v2.getLeadArtist(); //String str = "{'msg','"+ss+"'}"; String str = ss; outPut(str); System.out.println(id3v2.getAlbumTitle());//专辑名 System.out.println(id3v2.getSongTitle());//歌曲名 System.out.println(id3v2.getLeadArtist());//歌手 } else { System.out.println("id3v1"); System.out.println(id3v1.getAlbumTitle()); System.out.println(id3v1.getSongTitle()); System.out.println(id3v1.getLeadArtist()); } AbstractLyrics3 lrc3Tag = file.getLyrics3Tag(); if (lrc3Tag != null) { String lyrics = lrc3Tag.getSongLyric(); System.out.println(lyrics); } } catch (IOException e) { e.printStackTrace(); } catch (TagException e) { e.printStackTrace(); } System.out.println("over"); } }
struts.xml配置文件*********************************
<?xml version="1.0" encoding="UTF-8" ?> <!DOCTYPE struts PUBLIC "-//Apache Software Foundation//DTD Struts Configuration 2.0//EN" "http://struts.apache.org/dtds/struts-2.0.dtd"> <struts> <constant name="struts.i18n.encoding" value="UTF-8"/> //设置上传文件最大量 <constant name="struts.multipart.maxSize" value="10485760"/> <package name="upload" namespace="/" extends="struts-default" > <action name="uploadAction" class="action.Upload" method="uploadAction"> <result name="success">/index.jsp</result> </action> </package> </struts>
后来经过调试,发现火狐和ie不兼容 导致无执行争取结果,所以我上传ajaxfileupload.js 我修改了源码
上面是我整理给大家的,希望今后会对大家有帮助。
相关文章:
Das obige ist der detaillierte Inhalt vonAjax asynchroner Upload in JQuery. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen





1. Öffnen Sie Kugou Music und klicken Sie auf Ihr Profilbild. 2. Klicken Sie auf das Symbolset in der oberen rechten Ecke. 3. Klicken Sie auf [Musikwerke hochladen]. 4. Klicken Sie auf [Werke hochladen]. 5. Wählen Sie das Lied aus und klicken Sie auf [Weiter]. 6. Klicken Sie abschließend auf [Hochladen].

Erstellen Sie eine Engine für Autovervollständigungsvorschläge mit PHP und Ajax: Serverseitiges Skript: Verarbeitet Ajax-Anfragen und gibt Vorschläge zurück (autocomplete.php). Client-Skript: Ajax-Anfrage senden und Vorschläge anzeigen (autocomplete.js). Praktischer Fall: Fügen Sie ein Skript in die HTML-Seite ein und geben Sie die Kennung des Sucheingabeelements an.

Wie verwende ich die PUT-Anfragemethode in jQuery? In jQuery ähnelt die Methode zum Senden einer PUT-Anfrage dem Senden anderer Arten von Anfragen, Sie müssen jedoch auf einige Details und Parametereinstellungen achten. PUT-Anfragen werden normalerweise zum Aktualisieren von Ressourcen verwendet, beispielsweise zum Aktualisieren von Daten in einer Datenbank oder zum Aktualisieren von Dateien auf dem Server. Das Folgende ist ein spezifisches Codebeispiel, das die PUT-Anforderungsmethode in jQuery verwendet. Stellen Sie zunächst sicher, dass Sie die jQuery-Bibliotheksdatei einschließen. Anschließend können Sie eine PUT-Anfrage senden über: $.ajax({u

Die Verwendung von Ajax zum Abrufen von Variablen aus PHP-Methoden ist ein häufiges Szenario in der Webentwicklung. Durch Ajax kann die Seite dynamisch abgerufen werden, ohne dass die Daten aktualisiert werden müssen. In diesem Artikel stellen wir vor, wie man Ajax verwendet, um Variablen aus PHP-Methoden abzurufen, und stellen spezifische Codebeispiele bereit. Zuerst müssen wir eine PHP-Datei schreiben, um die Ajax-Anfrage zu verarbeiten und die erforderlichen Variablen zurückzugeben. Hier ist ein Beispielcode für eine einfache PHP-Datei getData.php:

Titel: jQuery-Tipps: Ändern Sie schnell den Text aller Tags auf der Seite. In der Webentwicklung müssen wir häufig Elemente auf der Seite ändern und bedienen. Wenn Sie jQuery verwenden, müssen Sie manchmal den Textinhalt aller a-Tags auf der Seite gleichzeitig ändern, was Zeit und Energie sparen kann. Im Folgenden wird erläutert, wie Sie mit jQuery den Text aller Tags auf der Seite schnell ändern können, und es werden spezifische Codebeispiele angegeben. Zuerst müssen wir die jQuery-Bibliotheksdatei einführen und sicherstellen, dass der folgende Code in die Seite eingefügt wird: <

Titel: Verwenden Sie jQuery, um den Textinhalt aller Tags zu ändern. jQuery ist eine beliebte JavaScript-Bibliothek, die häufig zur Verarbeitung von DOM-Operationen verwendet wird. Bei der Webentwicklung müssen wir häufig den Textinhalt des Link-Tags (eines Tags) auf der Seite ändern. In diesem Artikel wird erläutert, wie Sie mit jQuery dieses Ziel erreichen, und es werden spezifische Codebeispiele bereitgestellt. Zuerst müssen wir die jQuery-Bibliothek in die Seite einführen. Fügen Sie den folgenden Code in die HTML-Datei ein:

Ajax (Asynchronous JavaScript and XML) ermöglicht das Hinzufügen dynamischer Inhalte, ohne die Seite neu laden zu müssen. Mit PHP und Ajax können Sie eine Produktliste dynamisch laden: HTML erstellt eine Seite mit einem Containerelement und die Ajax-Anfrage fügt die Daten nach dem Laden zum Element hinzu. JavaScript verwendet Ajax, um über XMLHttpRequest eine Anfrage an den Server zu senden, um Produktdaten im JSON-Format vom Server abzurufen. PHP nutzt MySQL, um Produktdaten aus der Datenbank abzufragen und in das JSON-Format zu kodieren. JavaScript analysiert die JSON-Daten und zeigt sie im Seitencontainer an. Durch Klicken auf die Schaltfläche wird eine Ajax-Anfrage zum Laden der Produktliste ausgelöst.

Wie kann man feststellen, ob ein jQuery-Element ein bestimmtes Attribut hat? Wenn Sie jQuery zum Betreiben von DOM-Elementen verwenden, stoßen Sie häufig auf Situationen, in denen Sie feststellen müssen, ob ein Element ein bestimmtes Attribut hat. In diesem Fall können wir diese Funktion einfach mit Hilfe der von jQuery bereitgestellten Methoden implementieren. Im Folgenden werden zwei häufig verwendete Methoden vorgestellt, um festzustellen, ob ein jQuery-Element über bestimmte Attribute verfügt, und um spezifische Codebeispiele anzuhängen. Methode 1: Verwenden Sie die Methode attr() und den Operator typeof //, um zu bestimmen, ob das Element ein bestimmtes Attribut hat
