1、新建一个api目录,与pages同级

2、在api目录下新建一个api.js文件

3、编写代码

const host = 'http://test.test.cn'
const wxRequest = function (params, url) {
wx.showToast({
title: '加载中...',
icon: 'loading'
})
wx.request({
url: url,
method: params.method || 'GET',
data: params.data || {},
header: {
'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8'
},
success: function (res) {
params.success && params.success(res)
wx.hideToast()
},
fail: function (res) {
params.fail && params.fail(res)
},
complete: function (res) {
params.complete && params.complete(res)
}
})
} const bindCode = function (params) { wxRequest(params, host + '/AppPhone/Api') }
const startScan = function (params) { wxRequest(params, host + '/AppPhone/Api') }
const imgToservers = function (params) { wxRequest(params, host + '/AppPhone/Api/upload_files') } module.exports = {
bindCode,
startScan,
imgToservers
}

4、在js中调用

import api from '../../api/api.js'
Page({ /**
* 页面的初始数据
*/
data: {
shopCode: '',
deviceId: '',
}, /**
* 生命周期函数--监听页面加载
*/
onLoad: function (options) {
var getShopInfo = wx.getStorageSync('shopInfo');
if (getShopInfo) {
this.setData({
shopCode: getShopInfo.shop_code,
deviceId: getShopInfo.device_id
})
}else{
wx.redirectTo({
url: '../bindnum/bindnum?type=1'
})
}
},
beginScan: function(){
var _that = this;
api.startScan({
method: 'POST',
data: {
shop_code: this.data.shopCode,
device_id: this.data.deviceId,
method: 'get_phone_scanner_id'
},
success: function(res){
console.log(res.data);
}
});
},
})

5、问题

一开始wx.request中header设置为

header: {
'content-type': 'application/json' // 默认值
},
导致接口调用时,报500

后面查找发现,终于找到了解决方案,将header设置为:
  header: {
'Content-Type': 'application/x-www-form-urlencoded;charset=utf-8'
},

就可以成功调用了

参考文章: wx.request发送与服务端接受

 

小程序封装wx.request,以及调用的更多相关文章

  1. 今天微信小程序发现wx.request不好使了,调试报错: 小程序要求的 TLS 版本必须大于等于 1.2

    今天微信小程序发现wx.request不好使了,调试报错: 小程序要求的 TLS 版本必须大于等于 1.2 查官方文档 解决方法 在 PowerShell中运行以下内容, 然后重启服务器 # Enab ...

  2. 小程序 之wx.request和wx.showModal简单封装

    一.request封装 request(url, data, successCallBack = function(data) {}, completeCallBack = function(data ...

  3. 微信小程序之wx.request:fail错误,真机预览请求无效问题解决,安卓,ios网络预览异常

    新版开发者工具增加了https检查功能:可使用此功能直接检查排查ssl协议版本问题: 可能原因:0:后台域名没有配置0.1:域名不支持https1:没有重启工具:2:域名没有备案,或是备案后不足24小 ...

  4. 微信小程序:wx.request之post请求后端无法获取数据的问题

    前言:小程序的开发中总是踩到各种坑,看文档也不知所云: 例如当我们在写微信小程序接口时,method请求方式有POST和GET两种,为了数据安全,我们会偏向于使用POST请求方式访问服务器端: 问题: ...

  5. 微信小程序请求wx.request数据,渲染到页面

    先说一下基本使用.官网也有. 比如说你在App.js里面有这些变量.想修改某些值. data: { main_view_bgcolor: "", border: "&qu ...

  6. mpvue 小程序 使用wx.request请求数据

    1.创建src下创建utils/wx-request.js const host = 'http://10.0.0.6:8081' function request (url, method, dat ...

  7. 微信小程序设置全局请求URL 封装wx.request请求

    app.js: App({ //设置全局请求URL globalData:{ URL: 'https://www.oyhdo.com', }, /** * 封装wx.request请求 * metho ...

  8. 以聚合数据免费接口为例,通过 Class 类继承方法,让小程序实现项目化接口调用

    微信小程序数据来源,是通过接口实现的.但接口如何调,数据如何取?每个人都有不同的方法,下面以聚合数据免费接口为例. 配置接口 config.js 聚合数据请求接口需要以key作为参数. const c ...

  9. 小程序封装一个ajax

    小程序中,我们一般习惯把提交接口请求的方法放在一个公共js里面.下面是一个简单实现. (1)我们把所有请求的地址都放在一个json里面 var postAddress = { "domin& ...

随机推荐

  1. java中时间与时间戳的相互转换

    package com.test.one; import java.text.ParseException; import java.text.SimpleDateFormat; import jav ...

  2. Linux lvm 逻辑卷篇

    Linux LVM逻辑卷配置过程详解(创建.增加.减少.删除.卸载) 许多Linux使用者安装操作系统时都会遇到这样的困境:如何精确评估和分配各个硬盘分区的容量,如果当初评估不准确,一旦系统分区不够用 ...

  3. 替换url不刷新页面

    今天碰到一个有趣的问题, 从其他站点登录后,放回了一个token, 但是我切换了路由之后token还在, 路由直接跟在了token参数后面, 后面先利用location.href替换掉原来的连接, 但 ...

  4. 小白学Python(20)—— Turtle 海龟绘图

    Turtle库是Python语言中一个很流行的绘制图像的函数库,想象一个小乌龟,在一个横轴为x.纵轴为y的坐标系原点,(0,0)位置开始,它根据一组函数指令的控制,在这个平面坐标系中移动,从而在它爬行 ...

  5. 搜索专题: HDU1501Zipper

    Zipper Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Sub ...

  6. 关于微信小程序 modal弹框组件的介绍

    微信小程序 modal: 这里对微信小程序中 modal组件进行详细解析,我想开发微信小程序的小伙伴可以用到,这里小编就记录下modal的知识要点. modal modal类似于javascript中 ...

  7. iOS微信浏览器回退不刷新(监听浏览器回退事件)

    兼容性:兼容全部ios系统 $(function(){ pushHistory(); }); function pushHistory(){ window.addEventListener(" ...

  8. 常用css相关笔记

    最后一个css不加样式 .nav-sort li:not(:last-child) { border-bottom:#3e3e3e 1px solid; } 垂直居中 vertical-align: ...

  9. fpga新建nios

    [FPGA]基于Qsys的第一个Nios II系统设计 (2013-12-12 21:50:08) 转载▼ 标签: fpga niosii qsys helloword quartusii 分类: 嵌 ...

  10. [转载]NOR和NAND 存储器的联系与区别

    转载了,对于我理解两种Flash起到了帮助,希望博主继续再接再厉,更新博文 原文地址:存储器的联系与区别">NOR和NAND 存储器的联系与区别作者:暴走的工程师 一.类型理解     ...