요청 네트워크를 사용하여 WeChat 미니 프로그램에서 요청 작업을 수행하는 방법

亚连
풀어 주다: 2018-06-20 15:47:44
원래의
3048명이 탐색했습니다.

이 글은 주로 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()

OBJECT 매개변수 설명:

< tr> < td width="50">아니요< td width="112">기능
매개변수 이름유형필수설명
url문자열< /td >개발자 서버 인터페이스 주소
데이터객체, 문자열아니요 요청된 매개변수
헤더객체아니요요청 헤더를 설정하세요. 헤더에는 참조자를 설정할 수 없습니다.
방법문자열 아니요기본값은 GET이며 유효한 값: OPTIONS, GET, HEAD, POST, PUT, DELETE, TRACE, CONNECT
성공기능 아니요개발자 서비스에서 성공적으로 반환한 콜백 함수를 수신합니다. res = {data: '개발자 서버에서 반환된 콘텐츠'}
실패기능 인터페이스 호출 실패 콜백 함수
완료아니요< /spanspan>인터페이스 호출 종료 시 콜백 함수(성공 또는 실패 여부에 관계없이 실행됨)

가장 간단한 사용법은 다음과 같습니다(POST 요청을 예로 들어보겠습니다)

var app = getApp()
Page({
 data: {
 },
 onLoad: function (opt) {
 //console.log(opt.name)
 app.func.req(&#39;/api/get_data&#39;,{},function(res){
 console.log(res)
 });
 }
})
로그인 후 복사
이제 서비스 파일 아래 http.js 파일에 요청을 작성합니다.

rrreee여기서 module.exports는 다른 파일에서 사용할 수 있도록 req 메소드를 노출합니다. js 함수가 비동기적으로 실행되므로 반환 함수는 특정 함수가 아닌 콜백 함수입니다. data

다른 파일의 편의를 위해 이 메서드를 호출하려면 다음과 같이 루트 디렉터리의 app.js 파일에 전역 함수로 등록합니다.

rrreee 이때 호출 시 req는 전역입니다. getApp.func.req()를 사용하여 호출할 수 있으며 자세한 내용은 다음과 같습니다rrreee

위 내용은 제가 모든 사람을 위해 편집한 내용입니다. 앞으로 모든 사람에게 도움이 되기를 바랍니다.

관련 기사:

🎜js에서 공휴일을 결정하는 방법🎜🎜🎜🎜Angular에서 일기 예보를 쿼리하는 방법🎜🎜🎜🎜Angular에서 입력 콘텐츠를 표시하는 방법🎜🎜

위 내용은 요청 네트워크를 사용하여 WeChat 미니 프로그램에서 요청 작업을 수행하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
최신 이슈
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿