Maison  >  Article  >  Applet WeChat  >  À propos des étapes de définition d'une requête http pour l'applet WeChat

À propos des étapes de définition d'une requête http pour l'applet WeChat

不言
不言original
2018-06-23 10:09:399886parcourir

Cet article vous présente les étapes détaillées pour effectuer des requêtes http dans les mini-programmes WeChat. Je pense qu'il sera utile pour tout le monde d'apprendre les requêtes réseau dans les mini-programmes WeChat. Les amis dans le besoin peuvent jeter un œil ci-dessous.

introduction à la requête http

HTTP (HyperText Transfer Protocol) est un ensemble de règles permettant aux ordinateurs de communiquer via le réseau. Les experts en informatique ont conçu HTTP pour permettre aux clients HTTP (tels que les navigateurs Web) de demander des informations et des services aux serveurs HTTP (serveurs Web). La version actuelle du protocole HTTP est 1.1. HTTP est un protocole sans état, et sans état fait référence au Web. Il n'est pas nécessaire d'établir une connexion persistante entre le navigateur et le serveur Web. Cela signifie que lorsqu'un client fait une requête au serveur et que le serveur Web renvoie une réponse, la connexion est fermée et aucune information sur la connexion n'est conservée sur le serveur. serveur Information.HTTP suit le modèle requête/réponse. Le navigateur Web envoie une demande au serveur Web, et le serveur Web traite la demande et renvoie une réponse appropriée. Toutes les connexions HTTP sont structurées comme un ensemble de requêtes et de réponses.

Demande http des paramètres de l'applet WeChat

Pour la communication réseau dans l'applet WeChat, vous ne pouvez communiquer qu'avec le nom de domaine spécifié. L'applet comprend quatre types de requêtes réseau.

1. Requête HTTPS ordinaire (wx.request)

2. Télécharger le fichier (wx.uploadFile)

3. Télécharger le fichier (wx.downloadFile)

4. Communication WebSocket (wx.connectSocket)

Ici, nous introduisons principalement trois types de requêtes réseau : wx.request, wx.uploadFile et wx.dowloadFile

Définir le nom de domaine

Pour que l'applet WeChat communique sur le réseau, vous devez d'abord définir le domaine nom de domaine, sinon une erreur se produira :

Le nom de domaine URL est illégal, veuillez réessayer après la configuration en arrière-plan mp

Le nom de domaine doit à définir dans le mini programme de la plateforme publique WeChat.

Vous pouvez voir les options de configuration dans l'interface de configuration de l'applet WeChat :


Paramètres
Sélectionnez les paramètres de développement :


Paramètres de développement

Vous pouvez voir les paramètres du serveur :


Paramètres du serveur

Ici, vous pouvez définir les noms de domaine correspondant à quatre types de accès au réseau, dont chacun Type de demande réseau nécessite la définition d'un nom de domaine. Notez que si le nom de domaine est défini sur https://example.com/api/, alors https://example.com/api ne peut pas être appelé. doit être suivi de / .

Demande http

Utilisez wx.request pour lancer une requête http, et une applet WeChat est limitée à seulement 5 à la fois demande de réseau en même temps.

function queryRequest(data){ 
 wx.request({
 url:"https://example.com/api/",
 data:data,
 header:{
 // "Content-Type":"application/json"
 },
 success:function(res){
 console.log(res.data)
 },
 fail:function(err){
 console.log(err)
 }

 })

}

Le code ci-dessus enverra une requête http get puis imprimera le résultat renvoyé. Les paramètres sont également relativement faciles à comprendre.

url L'adresse url du serveur

data Les paramètres demandés peuvent être sous la forme de String data:"xxx=xxx&xxx=xxx" ou Object data:{"userId":1}
Définir l'en-tête de la requête

header
Rappel en cas de succès de l'interface

success
Rappel en cas d'échec de l'interface

fail De plus, il y a deux paramètres qui ne sont pas dans le code :

méthode, la valeur par défaut est la requête GET

method http
Le rappel après l'appel de l'interface, quel que soit le succès ou l'échec de l'interface, sera appelé

complete

pour télécharger des fichiers


L'API pour télécharger des fichiers est
, qui lancera une demande de publication http. > est

. Le serveur doit recevoir les fichiers selon le type

, exemple de code : wx.uploadFileContent-typemultipart/form-dataContent-type

parmi lesquels
function uploadFile(file,data) {
 wx.uploadFile({
 url: 'http://example.com/upload',
 filePath: file,
 name: 'file',
 formData:data,
 success:function(res){
 console.log(res.data)
 },
 fail:function(err){
 console.log(err)
 }

 })

}
,

,

,

et url sont identiques aux requêtes http ordinaires. headersuccessfailLes différents paramètres ici sont : complete
 

correspondant au fichier, le serveur doit obtenir le fichier via le paramètre

name keyAutres paramètres pouvant être utilisés dans la requêtename

formData httpTélécharger le fichier

下载文件的api为wx.downloadFile,该api会发起一个http get请求,并在下载成功之后返回文件的临时路径,示例代码:

function downloadFile(url,typ,success){
 wx.downloadFile({
 url:url,
 type:typ,
 success:function(res){
 if(success){
 success(res.tempFilePath)
 }
 },
 fail:function(err){
 console.log(err)
 }
 })
}

其中的url,header,fail,completewx.uploadFile的参数使用是一致的,其中有区别的参数是:

     type:下载资源的类型,用于客户端自动识别,可以使用的参数image/audio/video<br>

     success:下载成功之后的回调,以tempFilePath的参数返回文件的临时目录:res={tempFilePath:'文件路径'}<br>

下载成功后的是临时文件,只会在程序本次运行期间可以使用,如果需要持久的保存,需要调用方法wx.saveFile主动持久化文件,实例代码:

function svaeFile(tempFile,success){
 wx.saveFile({
 tempFilePath:tempFile,
 success:function(res){
 var svaedFile=res.savedFilePath
 if(success){
 success(svaeFile)
 }
 }
 })
}

使用wx.saveFile保存临时文件到本地,提供给小程序下次启动时使用,其中的参数:

tempFilePath 需要被保存文件的路径

success 保存成功的回调,返回保存成功的路径,使用res.savedFilePath可以获取保存成功的路径

fail 失败的回调

complete结束的回调

超时的设置

可以在app.js中设置networkTimeout可以设置四种类型网络访问的超时时间:

"networkTimeout":{
 "request": 10000,
 "connectSocket": 10000,
 "uploadFile": 10000,
 "downloadFile": 10000
}

这里设置的超时时间对应着四种类型的网络请求。

以上就是本文的全部内容,希望对大家的学习有所帮助,更多相关内容请关注PHP中文网!

相关推荐:

微信小程序开发教程之增加mixin扩展

微信小程序的MINA文件结构的介绍

微信小程序要怎么选择SSL证书类型

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn