집 >위챗 애플릿 >미니 프로그램 개발 >WeChat 애플릿 요청 네트워크 요청 동작 예시에 대한 자세한 설명
미니 프로그램은 개발자에게 큰 도움이 되는 많은 API를 제공합니다. 그 중 네트워크 요청 API는 wx.request(object)
이며, 이는 미니 프로그램이 데이터 상호 작용을 실현하는 데 매우 중요한 방법입니다. 개발자의 서버. 이 글에서는 주로 WeChat 애플릿의 요청 네트워크 요청 작업 사용을 소개하고, wx.request(object) 네트워크 요청 작업의 구체적인 사용 기술을 예제 형식으로 분석하여 도움이 필요한 친구들이 참고할 수 있기를 바랍니다. 모두를 도와주세요. wx.request(object)
,这是小程序与开发者的服务器实现数据交互的一个很重要的api。本文主要介绍了微信小程序使用request网络请求操作,结合实例形式分析了wx.request(object)网络请求操作的具体使用技巧,需要的朋友可以参考下,希望能帮助到大家。
官方参数说明如下
OBJECT参数说明:
参数名 | 类型 | 必填 | 说明 |
---|---|---|---|
url | String | 是 | 开发者服务器接口地址 |
data | Object、String | 否 | 请求的参数 |
header | Object | 否 | 设置请求的 header , header 中不能设置 Referer |
method | String | 否 | 默认为 GET,有效值:OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT |
success | Function | 否 | 收到开发者服务成功返回的回调函数,res = {data: '开发者服务器返回的内容'} |
fail | Function | 否 | 接口调用失败的回调函数 |
complete | Function | 否 | 接口调用结束的回调函数(调用成功、失败都会执行) |
最简单的用法如下(以POST请求为例)
bindSearchChange:function(e){ var keyword = e.detail.value; wx.request({ url:'xxxxxxxxx', data:{}, header: {'Content-Type': 'application/json'}, success: function(res) { console.log(res) } }) }
下面我们把请求写在service文件下的http.js文件中,代码如下
var rootDocment = 'hxxxxx';//你的域名 function req(url,data,cb){ wx.request({ url: rootDocment + url, data: data, method: 'post', header: {'Content-Type': 'application/json'}, success: function(res){ return typeof cb == "function" && cb(res.data) }, fail: function(){ return typeof cb == "function" && cb(false) } }) } module.exports = { req: req }
其中module.exports
是将req方法暴露出去使得别的文件中可以使用该方法,由于js函数是异步执行的,所以return 的是回调函数,而不是具体的数据
为了其他文件方便调用此方法,我们在根目录的app.js文件中将其注册成为全局函数,如下
//app.js var http = require('service/http.js') App({ onLaunch: function () { //调用API从本地缓存中获取数据 var logs = wx.getStorageSync('logs') || [] logs.unshift(Date.now()) wx.setStorageSync('logs', logs) }, getUserInfo:function(cb){ var that = this if(this.globalData.userInfo){ typeof cb == "function" && cb(this.globalData.userInfo) }else{ //调用登录接口 wx.login({ success: function () { wx.getUserInfo({ success: function (res) { that.globalData.userInfo = res.userInfo typeof cb == "function" && cb(that.globalData.userInfo) } }) } }) } }, globalData:{ userInfo:null }, func:{ req:http.req } })
这时这个req就是全局的了,在调用时我们可以使用getApp.func.req()
OBJECT 매개변수 설명:
매개변수 이름 | 유형 | 필수 | 설명 일> |
---|---|---|---|
url | 문자열 | 예 | 개발자 서버 인터페이스 주소 |
데이터 | 객체, 문자열 td > | 아니요 | 요청된 매개변수 |
헤더 | 객체 | 아니요 | 요청 헤더를 설정하세요. 헤더에는 참조자를 설정할 수 없습니다. | 방법 | 문자열 | 아니요 | 기본값은 GET이며 유효한 값: OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT |
성공 | 기능 td> | 아니요 | 개발자 서비스에서 성공적으로 반환한 콜백 함수를 수신합니다. res = {data: '개발자 서버에서 반환된 콘텐츠'} |
실패 | 기능 | 아니요인터페이스 호출 실패 콜백 함수 | |
완료 | 기능아니요 | 인터페이스 호출 종료 시 콜백 함수(성공 또는 실패 여부에 관계없이 실행됨) td> tr> |
가장 간단한 사용법은 다음과 같습니다(POST 요청을 예로 들어보겠습니다)
var app = getApp() Page({ data: { }, onLoad: function (opt) { //console.log(opt.name) app.func.req('/api/get_data',{},function(res){ console.log(res) }); } })이제 서비스 파일 아래의 http.js 파일에 요청을 작성합니다. , 코드는 다음과 같습니다
rrreee 그 중 module.exports
는 다른 파일에서도 사용할 수 있도록 req 메소드를 노출합니다. js 함수는 비동기적으로 실행되므로 return 함수는 다음과 같습니다.
다른 파일에서 이 메서드를 쉽게 호출할 수 있도록 다음과 같이 루트 디렉터리의 app.js 파일에 전역 함수로 등록합니다.
🎜rrreee🎜At 이번에는 이 req가 전역적이며 code>getApp.func.req()를 호출하여 호출할 때 사용할 수 있습니다. 자세한 내용은 다음과 같습니다🎜🎜🎜🎜rrreee🎜WeChat 애플릿은 네트워크를 포함한 많은 API를 제공합니다. , 미디어, 데이터 등을 제공하며 애플릿 개발을 가능하게 하는 많은 구성 요소도 제공하므로 매우 편리합니다. 🎜🎜관련 추천: 🎜🎜🎜 WeChat 미니 프로그램 기능 요약 🎜🎜🎜🎜 WeChat 미니 프로그램에서 모바일 연락처 추가 기능 구현에 대한 튜토리얼 🎜🎜🎜🎜 WeChat mini에서 드롭다운 목록 표시 기능을 구현하는 방법 프로그램🎜🎜위 내용은 WeChat 애플릿 요청 네트워크 요청 동작 예시에 대한 자세한 설명의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!