2016-06-24 16 views
9

Ich las diese w3c document über Post-JSON-Daten mit HTML-Formular und versuchte es zu testen.ist Formular enctype "appication/json" verfügbar?

meine Testform ist 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 Inhalte für postjson.php

<?php var_dump($_POST); 

ich den Wert von $ _POST erwartet wurde ein JSON-String ist, aber es ist nur eine normale 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 versuchte, das enctype Attribut und t Entfernen Die Ausgabe ist genau gleich. Dann ging ich zurück auf die Dokumentseite und bemerkte, dass etwas besagt, dass dieser Standard möglicherweise nicht in Kraft ist.

Also das ist auch eine Frage über die Verwendung der W3C-Website, es scheint mir einige Seiten darauf sind nur Entwürfe. Also ist diese Seite ein Entwurf? Wenn ich Seiten auf w3c lese, wie kann ich feststellen, ob es sich um einen Entwurf oder einen Arbeitsstandard handelt? Und schließlich und am wichtigsten ist enctype='application/json' funktioniert oder nicht?

Antwort

11

Das W3C veröffentlicht viele Entwürfe und Vorschläge, die dann innerhalb der Gemeinschaft diskutiert werden. Wenn ein Entwurf es auf die Stufe bringt, wo es allgemein als nützlich erachtet wird, werden Browser-Anbieter mit der Implementierung beginnen. Der Entwurf geht dann typischerweise zu einer "Empfehlungs" -Stufe über, was bedeutet, dass das W3C offiziell empfiehlt, dass Browser die Technologie wie spezifiziert implementieren; aber natürlich können sie niemandem den Arm verdrehen, um es tatsächlich zu tun.

Jedes Dokument zeigt oben seinen aktuellen Status an und http://www.w3.org/TR/ listet alle aktuellen Dokumente und deren Status auf. Der von Ihnen gewählte Artikel wird auf dieser Seite als "veraltet" und "im Ruhestand" aufgeführt und hat ein gigantisches Banner am oberen Rand:

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

Also, nein, wahrscheinlich implementiert derzeit kein Browser es.

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