


Ausführliche Erläuterung, wie Sie mit XMLHTTP extrem lange XML-Formulardaten senden
Wenn Sie eine große Menge an XML als Teil der POST-Daten an Ihren IIS-Server senden – beispielsweise im TEXTAREA des ASP-Formulars – erhalten Sie möglicherweise einige erwartete Ergebnisse. Bei der Verarbeitung der Daten auf dem Server kann es aufgrund der Art und Weise, wie Sie die Daten verarbeiten, zu Fehlern kommen. Der Grund dafür ist, dass beim Zurücksenden von Daten an den Server eine (Daten-)Größenbeschränkung im POST-Feld besteht. Damit soll verhindert werden, dass mögliche Eindringlinge bei einem Denial-of-Service-Angriff (DoS) extrem große Datenmengen an den Server senden.
Diese Einschränkung schränkt auch Ihre Fähigkeiten ein. Aber es gibt Möglichkeiten, dieses Problem zu umgehen. Wenn Sie nicht darauf beschränkt sind, Daten nur per FORM-Übermittlung zu senden, können Sie XMLHTTPObject (ein DOM-Objekt im XML-Set von Microsoft) verwenden, um das zu senden, was Sie im XML-Format benötigen:
var oXMLHTTP = new ActiveXObject("Microsoft.XMLHTTP"); oXMLHTTP.open("POST", "xml_handler.asp", false); oXMLHTTP.send(xml_to_send);
Da das Request-Objekt die IStream-Schnittstelle implementiert, können Sie das zu übermittelnde XML laden, indem Sie die Methode „load()“ des DOMDocument-Objekts verwenden:
Dim oDOM Set oDOM = Server.CreateObject("MSXML2.DOMDocument") oDOM.load Request
Wenn Sie darauf beschränkt sind, nur FORM zu senden, können Sie diese Einschränkung überwinden, indem Sie mehrere TEXTAREA- oder INPUT-Daten senden. Die ersten beiden können wieder zusammengesetzt werden, sobald der Server die FORM-Daten empfängt:
var MAXLEN = 90000; var oForm = document.createElement("FORM"); oFORM.method = "POST"; oFORM.action = "xml_handler.asp"; oFORM = document.body.appendChild(oFORM); var s = document.someForm.txtXML.value; if (s.length > MAXLEN) { while (s.length > MAXLEN) { var o = document.createElement("INPUT"); o.type = "hidden"; o.name = "txtXML"; o.value = s.substr(0, MAXLEN); oFORM.appendChild(o); s = s.substr(MAXLEN); } var o = document.createElement("INPUT"); o.type = "hidden"; o.name = "txtXML"; o.value = s.substr(0, MAXLEN); oFORM.appendChild(o); } else { var o = document.createElement("INPUT"); o.type = "hidden"; o.name = "txtXML"; o.value = s; oFORM.appendChild(o); }
Dieses Stück Der Code erstellt ein neues FORM-Element, um die Übermittlung von Daten zu verarbeiten, und platziert sie im BODY-Element. Anschließend prüft es die Länge des XML-Codes, der an den Server übermittelt werden soll. Dieses XML befindet sich in einem TEXTAREA namens txtXML in someForm.
Wenn das XML größer als 90.000 Zeichen MAXLEN ist, erstellt dieser Code mehrere versteckte INPUT-Elemente und setzt das -Attribut des Werts auf die 90.000 Zeichen langen XML-Daten oder auf einen Wert bei am Ende des XML, um die Daten in mehrere Teile aufzuteilen. Wenn die Größe dieser XML-Datei kleiner als MAXLEN ist, erstellt dieser Code lediglich eine Eingabe und legt den Wert entsprechend fest. Diese Daten werden dann zur Verarbeitung an den Server übermittelt.
Sie haben vielleicht bemerkt, dass ich jedem Feld des neuen Formulars denselben Namen zugewiesen habe – txtXML. Dies hilft dabei, die XML-Daten von anderen Daten zu trennen, die möglicherweise übermittelt werden, und bietet eine einfache Möglichkeit, die XML-Daten neu zu organisieren. Beim Neuorganisieren von Daten benötigen Sie eine einfache Schleife, um die Daten in den Feldern zu verbinden:
Dim str, fld For Each fld In Request.Form("txtXML") str = str & fld Next
Da für jedes FORM-Element ein Feldsatz erstellt wurde, iterieren Sie über Felder mit demselben Name. Solange Sie FORM-Elemente auf der Clientseite in der richtigen Reihenfolge erstellen, müssen Sie sich keine Gedanken über die Reihenfolge machen, in der die Felder durchlaufen werden. Dies kann einfach über die appendChild()-Methode von FORM erreicht werden.
Daten werden auf dem Client in der Reihenfolge von links nach rechts und von oben nach unten übermittelt. Wenn Sie also das INPUT-Element an das Ende des FORM-Elements anhängen, liegen sie auf Ihrem Server immer in derselben Reihenfolge vor . um Daten zu empfangen.
Wenn Sie eine große Datenlösung implementieren möchten, z. B. die Übertragung großer Excel-Datenmengen vom Client-Computer auf den Server, sollten Sie noch einmal darüber nachdenken, ob Sie die FORM-Übermittlung verwenden oder die Daten logisch aufteilen möchten in kleinere Teile. Da Sie das Dateityp-INPUT-Element nicht verwenden können, besteht die kreativste Lösung darin, die Daten lokal in XML zu konvertieren und sie dann an den Server zu senden. Die Daten werden wiederum auf dem Server gespeichert, bis eine weitere Verarbeitung erforderlich ist.
Natürlich gibt es möglicherweise einen besseren Weg, dieses Problem zu lösen. Aber wenn Sie nicht viel Zeit haben, brauchen Sie nur eine schnelle, brauchbare Lösung.
Das obige ist der detaillierte Inhalt vonAusführliche Erläuterung, wie Sie mit XMLHTTP extrem lange XML-Formulardaten senden. 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





Können XML-Dateien mit PPT geöffnet werden? XML, Extensible Markup Language (Extensible Markup Language), ist eine universelle Auszeichnungssprache, die häufig im Datenaustausch und in der Datenspeicherung verwendet wird. Im Vergleich zu HTML ist XML flexibler und kann eigene Tags und Datenstrukturen definieren, wodurch die Speicherung und der Austausch von Daten komfortabler und einheitlicher werden. PPT oder PowerPoint ist eine von Microsoft entwickelte Software zum Erstellen von Präsentationen. Es bietet eine umfassende Möglichkeit

Konvertieren Sie XML-Daten in Python in das CSV-Format. XML (ExtensibleMarkupLanguage) ist eine erweiterbare Auszeichnungssprache, die häufig zur Datenspeicherung und -übertragung verwendet wird. CSV (CommaSeparatedValues) ist ein durch Kommas getrenntes Textdateiformat, das häufig für den Datenimport und -export verwendet wird. Bei der Datenverarbeitung ist es manchmal erforderlich, XML-Daten zur einfachen Analyse und Verarbeitung in das CSV-Format zu konvertieren. Python ist mächtig

Behandeln von Fehlern und Ausnahmen in XML mit Python XML ist ein häufig verwendetes Datenformat zum Speichern und Darstellen strukturierter Daten. Wenn wir Python zum Verarbeiten von XML verwenden, können manchmal Fehler und Ausnahmen auftreten. In diesem Artikel werde ich die Verwendung von Python zur Behandlung von Fehlern und Ausnahmen in XML vorstellen und einige Beispielcodes als Referenz bereitstellen. Verwenden Sie Try-Exception-Anweisungen, um XML-Parsing-Fehler abzufangen. Wenn wir Python zum Parsen von XML verwenden, können manchmal Fehler auftreten

Python analysiert Sonderzeichen und Escape-Sequenzen in XML. XML (eXtensibleMarkupLanguage) ist ein häufig verwendetes Datenaustauschformat, das zum Übertragen und Speichern von Daten zwischen verschiedenen Systemen verwendet wird. Bei der Verarbeitung von XML-Dateien kommt es häufig vor, dass Sonderzeichen und Escape-Sequenzen enthalten sind, die zu Analysefehlern oder einer Fehlinterpretation der Daten führen können. Daher müssen wir beim Parsen von XML-Dateien mit Python verstehen, wie mit diesen Sonderzeichen und Escape-Sequenzen umgegangen wird. 1. Sonderzeichen und

Für den Umgang mit XML- und JSON-Datenformaten in der C#-Entwicklung sind spezifische Codebeispiele erforderlich. In der modernen Softwareentwicklung sind XML und JSON zwei weit verbreitete Datenformate. XML (Extensible Markup Language) ist eine Auszeichnungssprache zum Speichern und Übertragen von Daten, während JSON (JavaScript Object Notation) ein leichtes Datenaustauschformat ist. Bei der C#-Entwicklung müssen wir häufig XML- und JSON-Daten verarbeiten und verarbeiten. Dieser Artikel konzentriert sich auf die Verwendung von C# zum Verarbeiten und Anhängen dieser beiden Datenformate

Verwendung von Python zur Implementierung der Datenüberprüfung in XML Einführung: Im wirklichen Leben haben wir es oft mit einer Vielzahl von Daten zu tun, wobei XML (Extensible Markup Language) ein häufig verwendetes Datenformat ist. XML weist eine gute Lesbarkeit und Skalierbarkeit auf und wird häufig in verschiedenen Bereichen wie Datenaustausch, Konfigurationsdateien usw. verwendet. Bei der Verarbeitung von XML-Daten müssen wir die Daten häufig überprüfen, um die Integrität und Richtigkeit der Daten sicherzustellen. In diesem Artikel wird erläutert, wie Sie mit Python die Datenüberprüfung in XML implementieren und die entsprechenden Informationen bereitstellen

Wie Python XML-Dateien analysiert XML (eXtensibleMarkupLanguage) ist eine Auszeichnungssprache, die zur Darstellung strukturierter Daten verwendet wird. Bei der Verarbeitung von XML-Daten müssen wir häufig die XML-Datei analysieren, um die erforderlichen Informationen zu extrahieren. Python bietet viele Bibliotheken und Module zum Parsen von XML-Dateien, wie z. B. ElementTree, lxml usw. In diesem Artikel wird anhand von Codebeispielen erläutert, wie Sie mit Python XML-Dateien analysieren. In Python,

Jackson ist eine Java-basierte Bibliothek, die zum Konvertieren von Java-Objekten in JSON und JSON in Java-Objekte nützlich ist. JacksonAPI ist schneller als andere APIs, benötigt weniger Speicherbereich und eignet sich für große Objekte. Wir verwenden die Methode writeValueAsString() der Klasse XmlMapper, um das POJO in das XML-Format zu konvertieren. Die entsprechende POJO-Instanz muss als Parameter an diese Methode übergeben werden. Syntax publicStringwriteValueAsString(Objectvalue)throwsJsonProcessingExceptionExampleimp
