Ich versuche, Json-Daten an eine URL zu posten, die ich nicht kontrollieren kann. Das API-Dokument besagt, dass nur JSON-Daten akzeptiert werden. Ich denke darüber nach, ob ich HTML-Formular verwenden kann, um es einfacher zu machen.kann ich nur json string (ohne "name =") mit formular?
Es gibt viele Beiträge hier in Bezug auf, wie "json Daten mit Hilfe von Form", keiner von ihnen gilt meine Situation. Das Problem ist, soweit ich weiß, dass, wenn Sie Daten über das Formular posten, die Post immer "Name = Wert" ist, die API jedoch nur "Wert". Das heißt, obwohl ich JSON.stringify
input
Werte zu einem JSON-String kann, muss ich es noch mit einem "Name" veröffentlichen, was die API nicht will. Also das ist meine Frage, kann ich Werte nur über Formular posten?
Update: die API document
Was es in der API sagt, ist mir sehr vage. Schlüsselinformationen sind: 1) Wenn Sie die Schnittstelle verwenden, verwenden Sie HTTPS-Protokoll und JSON-Datenpaket, das Datenpaket muss nicht verschlüsselt werden.
2) HTTPS-Request-Methode: POST https://qyapi.weixin.qq.com/cgi-bin/message/send?access_token=ACCESS_TOKEN
Für access_token muss ich es bekommen einige Passwort und es läuft in 2 Stunden.
3) Wenn die Nachricht erfolgreich gesendet, gibt sie:
{
"errcode": 0,
"errmsg": "ok",
"invaliduser": "UserID1",
"invalidparty":"PartyID1",
"invalidtag":"TagID1"
}
Json ist Schlüsselpaar, was Sie suchen, ist offenbar Klartext –
Sie sagen, ich brauche "Text/plain" für die Form enctype? – shenkwen
Sie können eine JSON-Zeichenfolge nur als Zeichenfolge posten. Post benötigt kein Schlüssel = Wert-Paar im Post-Body. Wenn Sie jedoch etwas wie PHP auf dem Server verwenden, müssen Sie key = value verwenden, da der Schlüssel benötigt wird, um $ _POST mit dem Wert zu füllen. Sie können den Rohwert immer direkt aus der Eingabe lesen, z. '$ data = file_get_contents ('php: // input');'. Ein HTML-Formular selbst wird keinen Wert, der keinen Namen hat, übergeben, so dass Sie Javascript benötigen, um Ihren namenlosen Beitrag zu erstellen. –