


1.Post-Anfrage
wx.request(OBJECT)
wx.request
initiiert eine HTTPS-Anfrage. Ein WeChat-Applet kann nur 5 Netzwerkanforderungsverbindungen gleichzeitig haben.
Beschreibung auf der offiziellen Website
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
url | String | 是 | 開發(fā)者服務(wù)器接口地址 |
data | Object、String | 否 | 請(qǐng)求的參數(shù) |
header | Object | 否 | 設(shè)置請(qǐng)求的 header , header 中不能設(shè)置 Referer |
method | String | 否 | 默認(rèn)為 GET,有效值:OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT |
success | Function | 否 | 收到開發(fā)者服務(wù)成功返回的回調(diào)函數(shù),res = {data: '開發(fā)者服務(wù)器返回的內(nèi)容'} |
fail | Function | 否 | 接口調(diào)用失敗的回調(diào)函數(shù) |
complete | Function | 否 | 接口調(diào)用結(jié)束的回調(diào)函數(shù)(調(diào)用成功、失敗都會(huì)執(zhí)行) |
Beispiel für ein WeChat-Applet
wx.request({ url: 'test.php', //僅為示例,并非真實(shí)的接口地址 data: { x: '' , y: '' }, header: { 'content-type': 'application/json' }, success: function(res) { console.log(res.data) } })
Diese Methode zum Anfordern von GET ist in Ordnung, ebenso der Header auch OK Kein Bedarf zum Hinzufügen.
Aber POST hat ein gro?es Problem.
Ich verwende den folgenden Code zum Debuggen (Code 1):
wx.request({ url: ApiHost + '/?service=default.getOrderInfo', data: { 'order_id': order_id }, method: 'POST', success: function (res) { // console.log(res); if (res.data.ret == 200) { //something to do } else{ //something to do } } fail: function (res) { console.log(res); } });
Achten Sie auf das Bild unten, die Eingabeaufforderung im WeChat-Entwicklungstool:
2016-12-21_111056.png
POST-Anfrage fügt den Wert der Daten in die Anforderungsnutzlast anstelle der Abfragezeichenfolgenparameter ein , das Backend Wenn der Server nicht aufpasst, kann er die Daten nicht abrufen.
Im Internet gibt es viele Reformmethoden, die so aussehen. ----Header hinzufügen
wx.request({ url: ApiHost + '/?service=default.getOrderInfo', data: { //數(shù)據(jù)urlencode方式編碼,變量間用&連接,再post 'order_id='+order_id }, method: 'POST', header:{ 'content-type':'application/x-www-form-urlencoded' }, success: function (res) { // console.log(res); if (res.data.ret == 200) { //something to do } else{ //something to do } } fail: function (res) { console.log(res); } });
Wenn Sie ihn auf diese Weise ?ndern, ben?tigt das Backend keine spezielle Verarbeitung.
Aber...
Da ich immer noch die Standardmethode verwenden m?chte, besteht die einzige M?glichkeit darin, den Backend-Server zu ?ndern.
Ich verwende hier das Phalapi-Framework, ich empfehle es~~~
if(DI()->request->getHeader('content-type')) { $contentType = DI()->request->getHeader('content-type'); } if(!empty($contentType)&&(strtolower(@$contentType) === 'application/json')) { $HTTP_RAW_POST_DATA = isset($GLOBALS['HTTP_RAW_POST_DATA']) ? $GLOBALS['HTTP_RAW_POST_DATA'] : "{}"; DI()->request = new PhalApi_Request(array_merge($_GET,json_decode($HTTP_RAW_POST_DATA, true))); }
Schlie?lich habe ich das Debugging mit Code 1 auf dem PC bestanden. Verwenden Sie Standardanfragen und nicht den application/x-www-form-urlencoded-Modus.
Aber ... wenn ich eine echte Maschine zum Debuggen verwende, warum kann ich dann die Anforderungsparameter nicht erneut erhalten? Seltsame Dinge. . . . . . . . .
Schlie?lich durch Paketerfassungsanalyse
Echtes Maschinenterminal
POST /?service=default.getOrderInfo HTTP/1.0 Host: proxy Connection: close Content-Length: 43 Content-Type: application/json Accept-Encoding: gzip, deflate Accept: */* User-Agent: Mozilla/5.0 (iPhone; CPU iPhone OS 9_3_5 like Mac OS X) AppleWebKit/601.1.46 (KHTML, like Gecko) Mobile/13G36 MicroMessenger/6.5.1 NetType/WIFI Language/zh_CN Referer: https://servicewechat.com/###/0/page-frame.html Accept-Language: zh-cn {"order_id":"011T00wO0gZVR72P89tO0DFNvO0T00w0"}
PC-Simulationsentwicklungsterminal
POST /?service=default.getOrderInfo HTTP/1.0 Host: proxy Connection: close Content-Length: 43 Origin: http://###.appservice.open.weixin.qq.com X-Requested-With: XMLHttpRequest User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/53.0.2785.143 Safari/537.36 appservice webview/100000 content-type: application/json Accept: */* Referer: https://servicewechat.com/####/devtools/page-frame.html Accept-Encoding: gzip, deflate, br {"order_id":"011T00wO0gZVR72P89tO0DFNvO0T00w0"}
Endlich den Unterschied gefunden:
Content-Type und Content-Type
Der Standardwert des Simulators ist Content-Type
Der Standardwert der realen Maschine ist Content-Type
Der Back-End-Server Fügt die Verarbeitung von Content-Type hinzu und fertig.
[Verwandte Empfehlungen]
1. Quellcode der WeChat-Plattform herunterladen
2. Betriebsversion des PigCms-Mikro-E-Commerce-Systems (unabh?ngiges WeChat-Einkaufszentrum + dreistufiges Vertriebssystem)
3.WeChat People Network v3.4.5 Advanced Business Edition WeChat Rubik's Cube Quellcode
Das obige ist der detaillierte Inhalt vonPosten Sie eine Anfrage zu den Fallstricken der WeChat-Entwicklung. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Hei?e KI -Werkzeuge

Undress AI Tool
Ausziehbilder kostenlos

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem v?llig kostenlosen KI-Gesichtstausch-Tool aus!

Hei?er Artikel

Hei?e Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Verwenden Sie die Funktion http.PostForm, um eine POST-Anfrage mit Formulardaten zu senden. Im http-Paket der Go-Sprache k?nnen Sie die Funktion http.PostForm verwenden, um eine POST-Anfrage mit Formulardaten zu senden. Der Prototyp der http.PostForm-Funktion lautet wie folgt: funcPostForm(urlstring,dataurl.Values)(resp*http.Response,errerror)wo, u

So verarbeiten Sie POST-Anfragen und geben JSON-Antworten in FastAPI zurück. FastAPI ist ein modernes Web-Framework, das schnell (hohe Leistung), einfach zu verwenden ist und auf Standard-Python-Typhinweisen basiert. Es verfügt über eine starke asynchrone Unterstützung und kann problemlos Situationen mit hoher Parallelit?t bew?ltigen. In FastAPI k?nnen wir pr?gnanten Code verwenden, um POST-Anfragen zu verarbeiten und JSON-Antworten zurückzugeben. In diesem Artikel wird beschrieben, wie diese Aufgabe in FastAPI ausgeführt wird, und entsprechende Codebeispiele bereitgestellt. Zuerst müssen wir erstellen

So verwenden Sie die Funktion urllib.request.urlopen() in Python3.x zum Senden einer POST-Anfrage. Bei der Netzwerkprogrammierung ist es h?ufig erforderlich, eine POST-Anfrage über das HTTP-Protokoll zu senden, um mit dem Server zu interagieren. Python bietet die Funktion urllib.request.urlopen() zum Senden verschiedener HTTP-Anfragen, einschlie?lich POST-Anfragen. In diesem Artikel wird die Verwendung von urllib.request.urlop ausführlich vorgestellt

So verwenden Sie die http.Post-Funktion in Golang, um eine POST-Anfrage zu senden und die Antwort zu erhalten. Wenn Sie Golang für die Netzwerkprogrammierung verwenden, ist das http-Paket ein wichtiges Modul, das wir h?ufig verwenden. Unter diesen ist die Funktion http.Post eine sehr praktische Funktion, mit der Sie problemlos POST-Anfragen senden und Antwortergebnisse erhalten k?nnen. Im Folgenden werden die spezifischen Schritte und Codebeispiele zur Verwendung der http.Post-Funktion zum Senden einer POST-Anfrage und zum Erhalten einer Antwort vorgestellt. Schritt 1: Importieren Sie zuerst das http-Paket in den Code

PHP ist eine Open-Source-Skriptsprache, die in der Webentwicklung und serverseitigen Programmierung, insbesondere in der WeChat-Entwicklung, weit verbreitet ist. Heutzutage beginnen immer mehr Unternehmen und Entwickler, PHP für die WeChat-Entwicklung zu verwenden, da es sich zu einer wirklich leicht zu erlernenden und benutzerfreundlichen Entwicklungssprache entwickelt hat. Bei der WeChat-Entwicklung sind die Nachrichtenverschlüsselung und -entschlüsselung ein sehr wichtiges Thema, da sie die Datensicherheit betreffen. Bei Nachrichten ohne Verschlüsselungs- und Entschlüsselungsmethoden k?nnen Hacker leicht an die Daten gelangen, was eine Bedrohung für Benutzer darstellt.

Die Verwendung von POST-Anfragen in PHP ist ein üblicher Vorgang bei der Website-Entwicklung. Daten k?nnen über POST-Anfragen an den Server gesendet werden, z. B. Formulardaten, Benutzerinformationen usw. Die ordnungsgem??e Verwendung von POST-Anfragen kann die Datensicherheit und -genauigkeit gew?hrleisten. Im Folgenden wird die korrekte Verwendung von POST-Anfragen in PHP vorgestellt und spezifische Codebeispiele bereitgestellt. 1. Grundprinzipien von POST-Anfragen in PHP In PHP k?nnen die über die POST-Methode übermittelten Daten mithilfe der globalen Variablen $_POST abgerufen werden. Die POST-Methode wandelt die Formularnummer in um

Das Erlernen der Netzwerkprogrammierung in der Go-Sprache ist ein sehr wichtiger Teil, und das Senden von POST-Anfragen ist ein unverzichtbarer Teil. In diesem Artikel wird die Verwendung der net/http.Post-Funktion in der Go-Sprachdokumentation zum Senden einer POST-Anfrage vorgestellt, einschlie?lich spezifischer Codebeispiele. Zuerst müssen wir verstehen, was eine POST-Anfrage ist. Es handelt sich um eine Anfragemethode zum Senden von Daten an den Server. Im Gegensatz zu GET-Anfragen k?nnen POST-Anfragen mehr Daten senden und geben die Daten nicht in der URL preis. Normalerweise verwenden wir P

Bei der Entwicklung ?ffentlicher WeChat-Konten wird h?ufig die Abstimmungsfunktion verwendet. Die Voting-Funktion ist eine tolle M?glichkeit für Nutzer, sich schnell an Interaktionen zu beteiligen und ist darüber hinaus ein wichtiges Tool für die Durchführung von Veranstaltungen und Meinungsumfragen. In diesem Artikel erfahren Sie, wie Sie PHP zur Implementierung der WeChat-Abstimmungsfunktion verwenden. Holen Sie sich die Autorisierung des offiziellen WeChat-Kontos. Zuerst müssen Sie die Autorisierung des offiziellen WeChat-Kontos einholen. Auf der ?ffentlichen WeChat-Plattform müssen Sie die API-Adresse des ?ffentlichen WeChat-Kontos, des offiziellen Kontos und des dem ?ffentlichen Konto entsprechenden Tokens konfigurieren. Bei unserer Entwicklung mit der PHP-Sprache müssen wir den von WeChat offiziell bereitgestellten PH verwenden
