webentwicklung-frage-antwort-db.com.de

ist das Formular enctype "appication/json" verfügbar?

Ich las dieses w3c-Dokument über Post-JSON-Daten mit HTML-Formular und versuchte es zu testen.

mein Testformular lautet wie folgt:

 <form action="postjson.php" method="POST" enctype="application/json">
    <input type="hidden" name="touser" value="shenkwen" />
    <input type="hidden" name="msgtype" value="text" />
    <input type="hidden" name="agentid" value="23" />
    <input type="hidden" name="text[content]" value="test message" />
    <input type='submit' value="submit" />
  </form>

und Inhalt für postjson.php

<?php var_dump($_POST); 

Ich habe erwartet, dass $ _POST ein JSON-String ist, es ist jedoch nur ein normales PHP -Objekt:

array(4) { ["touser"]=> string(8) "shenkwen" ["msgtype"]=> string(4) "text" ["agentid"]=> string(2) "23" ["text"]=> array(1) { ["content"]=> string(33) "test message" } }

Ich habe versucht, das enctype-Attribut zu entfernen, und die Ausgabe ist genau gleich. Dann kehrte ich zur Dokumentseite zurück und bemerkte, dass etwas darauf hinweist, dass dieser Standard möglicherweise nicht in Kraft ist.

Es handelt sich also auch um eine Frage, wie die W3C-Website verwendet werden soll. Einige Seiten darauf scheinen nur ein Entwurf zu sein. Ist diese Seite also ein Entwurf? Wie kann ich beim Lesen von Seiten auf w3c feststellen, ob es sich um einen Entwurf oder um einen Arbeitsstandard handelt? Und schließlich und vor allem funktioniert enctype='application/json' oder nicht?

13
shenkwen

Das W3C veröffentlicht zahlreiche Entwürfe und Vorschläge, die dann in der gesamten Gemeinschaft diskutiert werden. Wenn ein Entwurf bis zu dem Punkt gelangt, an dem er allgemein als nützlich angesehen wird, werden/werden Browseranbieter mit der Implementierung beginnen. Der Entwurf geht dann normalerweise zu einer "Empfehlungsphase" über, dh das W3C empfiehlt offiziell, dass Browser die angegebene Technologie implementieren. Aber natürlich können sie niemanden am Arm drehen, um dies tatsächlich zu tun.

Jedes Dokument wird an seiner Spitze den aktuellen Status anzeigen, und http://www.w3.org/TR/ listet alle aktuellen Dokumente und ihren Status auf. Das von Ihnen ausgewählte ist auf dieser Seite als "veraltet" und "pensioniert" aufgeführt und oben mit einem ginormösen Banner gekennzeichnet:

In acht nehmen. Diese Spezifikation befindet sich nicht mehr in der aktiven Wartung und die HTML-Arbeitsgruppe beabsichtigt nicht, sie weiter zu pflegen.

Nein, wahrscheinlich implementiert es derzeit kein Browser.

Um die Verfügbarkeit einer Funktion in der Praxis zu verfolgen, müssen Sie sich mit Ressourcen von Drittanbietern wie https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form#attr-enctype - und http://caniuse.com .

16
deceze

Zu Ihrer Information ... Es gibt eine harte Art, diese Funktionalität mit Hilfe von Javascript nachzuahmen. Scheint meine Bibliothek hier: https://github.com/keithhackbarth/submitAsJSON

0
keithhackbarth