2016-06-24 23 views
9

Stavo leggendo questo w3c document sui dati post JSON con modulo html e cercando di testarlo.è disponibile la forma enctype "appication/json"?

mia forma di prova è la seguente:

<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> 

e contenuti per postjson.php

<?php var_dump($_POST); 

mi aspettavo il valore di $ _POST essere una stringa JSON, tuttavia, è solo un PHP normale oggetto:

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

Ho provato a rimuovere l'attributo enctype e t l'output è esattamente lo stesso. Poi sono tornato alla pagina del documento e ho notato che dice qualcosa che indica che questo standard potrebbe non essere efficace.

Quindi questa è anche una domanda su come utilizzare il sito Web W3C, a me sembra che alcune pagine siano solo bozze. Quindi questa pagina è una bozza? Quando leggo pagine su w3c come faccio a sapere se si tratta di una bozza o di uno standard di lavoro? E infine e, cosa più importante, è enctype='application/json' funzionante o no?

risposta

11

Il W3C pubblica molte bozze e proposte che vengono poi discusse all'interno della comunità in generale. Se una bozza arriva allo stadio in cui è generalmente considerata utile, i produttori di browser potranno/potranno iniziare a implementarla. La bozza quindi avanza tipicamente in una fase di "raccomandazione", intendendo il W3C raccomanda ufficialmente che i browser implementino la tecnologia come specificato; ma ovviamente non possono torcere il braccio di nessuno per farlo davvero.

Ogni documento dirà in cima quale è lo stato corrente e http://www.w3.org/TR/ elenca tutti i documenti correnti e il loro stato. Quello che hai scelto è elencato come "obsoleto" e "ritirato" su quella pagina e ha un banner gigantesco in cima dicendo:

Attenzione. Questa specifica non è più in manutenzione attiva e HTML Working Group non intende mantenerla ulteriormente.

Quindi, no, probabilmente nessun browser lo sta attualmente implementando.

Per tenere traccia della disponibilità di una funzione nel mondo reale è necessario cercare risorse di terze parti come https://developer.mozilla.org/en-US/docs/Web/HTML/Element/form#attr-enctype e http://caniuse.com.

Problemi correlati