>위챗 애플릿 >미니 프로그램 개발 >WeChat 애플릿 요청 네트워크 요청 동작 예시에 대한 자세한 설명

WeChat 애플릿 요청 네트워크 요청 동작 예시에 대한 자세한 설명

小云云
小云云원래의
2017-12-18 09:26:032057검색

미니 프로그램은 개발자에게 큰 도움이 되는 많은 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 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.