이 글은 주로 WeChat 애플릿의 요청 네트워크 요청 작업 사용을 소개하고, wx.request(object) 네트워크 요청 작업의 구체적인 사용 기술을 예제 형식으로 분석합니다. 이 문서에서는 WeChat 애플릿을 설명합니다. 요청 네트워크를 사용하여 작업을 요청합니다. 참고할 수 있도록 모든 사람과 공유하세요. 세부 사항은 다음과 같습니다.
미니 프로그램은 많은 API를 제공하므로 개발자에게 큰 도움이 됩니다. 그 중 네트워크 요청 API는 wx.request(object)
입니다. >, 미니 프로그램입니다. 개발자 서버와의 데이터 상호작용을 위한 매우 중요한 API입니다.
공식 매개변수 설명은 다음과 같습니다wx.request(object)
,这是小程序与开发者的服务器实现数据交互的一个很重要的api。
官方参数说明如下
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()
매개변수 이름 | 유형 | 필수 | 설명 일> |
---|---|---|---|
url | 문자열 | 예< /td > | 개발자 서버 인터페이스 주소 |
데이터 | 객체, 문자열 td > | 아니요 | 요청된 매개변수 |
헤더 | 객체 | 아니요 | 요청 헤더를 설정하세요. 헤더에는 참조자를 설정할 수 없습니다. | 방법 | 문자열 | 아니요 | 기본값은 GET이며 유효한 값: OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT |
성공 | 기능 td> | 아니요 | 개발자 서비스에서 성공적으로 반환한 콜백 함수를 수신합니다. res = {data: '개발자 서버에서 반환된 콘텐츠'} |
실패 | 기능 | < td width="50">아니요인터페이스 호출 실패 콜백 함수 | |
완료 | < td width="112">기능아니요< /spanspan> | 인터페이스 호출 종료 시 콜백 함수(성공 또는 실패 여부에 관계없이 실행됨) td> tr> |
var app = getApp() Page({ data: { }, onLoad: function (opt) { //console.log(opt.name) app.func.req('/api/get_data',{},function(res){ console.log(res) }); } })
rrreee 이때 호출 시 req는 전역입니다. getApp.func.req()
를 사용하여 호출할 수 있으며 자세한 내용은 다음과 같습니다rrreee
위 내용은 요청 네트워크를 사용하여 WeChat 미니 프로그램에서 요청 작업을 수행하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!