Ich benutze XSLTforms auf dem Server exist-db und ich versuche, eine Datei mit method = "post" ohne Glück überhaupt zu laden. Hier ist ein Beispiel des Modells:xsltforms submission method = "post": Unbekanntes XML-Wurzelelement
<html xmlns="http://www.w3.org/1999/xhtml" xmlns:ev="http://www.w3.org/2001/xml-events" xmlns:xf="http://www.w3.org/2002/xforms">
<head>
<xf:model>
<xf:instance xmlns="" id="default">
<data>
<x>
<a></a>
<b></b>
<c></c>
</x>
</data>
</xf:instance>
<xf:submission id="read-from-file" method="post" replace="instance" instance="default">
<xf:resource value="'../data/test.xml'"></xf:resource>
</xf:submission>
</xf:model>
</head>
Und hier ist die test.xml ich einreichen bin versucht:
<data>
<x>
<a>test</a>
<b>test</b>
<c>test</c>
</x>
</data>
Wenn ich die Vorlage auslösen, erhalte ich Fehler:
xsltforms.js:8115 POST ../data/test.xml 400 (Unknown XML root element: data)
Wenn stattdessen "get" -Methode verwendet wird, funktioniert alles super, solange die Datei klein genug ist - wenn ich versuche, eine größere Datei mit method = "get" zu laden, wird sie geladen, aber nachdem sie einmal geladen wurde und versuchen um es neu zu laden, erhalte ich den Fehler "414 (Anfrage-URI zu lang) ". Ich suchte nach einer Antwort und der Rat war, dass in diesem Fall der richtige Weg ist, "Post" zu verwenden. Ich bin neu in xforms und offensichtlich mache ich etwas falsch, also brauche ich Hilfe, um diese Arbeit zu machen ... Vielen Dank im Voraus!
Vielen Dank! Du hast meinen Tag gerettet :) Und ja - das Verhalten in Firebug und Chrome DevTools zu überprüfen war das erste, was ich ausprobiert habe ... Ich sah die lange URI, aber ich wusste nicht, wie ich es loswerden sollte und dass die Instanz wird als GET-Parameter serialisiert. Zunächst habe ich es geschafft, alle Elemente vor der Übergabe zu umgehen, aber als die Dateigröße anstieg, funktionierte es nicht mehr. Für jetzt scheint es Serialisierung = "none" macht den Job. Ich hoffe, dass Sie mit diesem Problem nicht noch einmal belästigt werden müssen. – nassoo