微信小程序(三):网络请求


Posted in Javascript onJanuary 13, 2017

前文讲配置的时候我们说过,开发小程序时可以选择有 APPID 和 无 APPID ,两种方式。

1. 当有APPID的情况下,进行网络通信,只能和指定的域名进行通信。如果没有进行配置,编译时会报如下错误:

微信小程序(三):网络请求

配置方法:

设置域名

需要在微信公众平台的小程序中设置域名。在微信小程序的设置界面可以看到设置选项:

微信小程序(三):网络请求

选择开发设置:

微信小程序(三):网络请求

可以看到服务器设置:

微信小程序(三):网络请求

这里我们可以设置我们这个APPID可以访问的域名,每种最多可以设置两个。(注意,此处只能使用 https 的域名,这个申请过程需要花费一定的时间)

2. 当没有APPID的情况下,就方便多了,可以随意进行网络请求,不限制域名,但是,这种情况下不能进行发布,也不能在手机上预览。如果想正式做小程序开发,还是需要有一个https的域名,但是学习的情况下http的就足够了。

在小程序中网络请求大致分为四种类型。

  •  普通HTTPS请求(wx.request)
  •  上传文件(wx.uploadFile)
  •  下载文件(wx.downloadFile)
  •  WebSocket通信(wx.connectSocket)

这里主要讲 wx.request:

使用wx.request可以发起一个http请求,一个微信小程序被限制为同时只有5个网络请求。注意是同时。

wx.request({
      url: 'http://192.168.1.137:80/app/guanggao',
      method: 'POST',
      data: {
         type: "1"
      },
      header: {
        'Accept': 'application/json'
      },
      success: function (res) {
        that.setData({
          images: res.data.data.guanggao
        })
      }
      fail:function(err){
        console.log(err)
      }
    })

上面的代码会发送一个http get请求,其中的参数也比较容易理解。

  •  url 服务器的url地址
  •  data 请求的参数可以采用String data:”xxx=xxx&xxx=xxx”的形式或者Object data:{“userId”:1}的形式
  •  header 设置请求的header
  •  method http的方法,默认为GET请求
  •  success 接口成功的回调
  •  fail 接口失败的回调

另外还有一个参数没有在代码里: 

  •  complete 调用接口结束之后的回调,无论成功或者失败该接口都会被调用

超时的设置

在前文中已经提到了在app.js中设置networkTimeout可以设置四种类型网络访问的超时时间:

"networkTimeout":{
  "request": 10000,
  "connectSocket": 10000,
  "uploadFile": 10000,
  "downloadFile": 10000
}

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
StringTemplate遇见jQuery冲突的解决方法
Sep 22 Javascript
ExtJs纵坐标值重复问题的解决方法
Feb 27 Javascript
对 jQuery 中 data 方法的误解分析
Jun 18 Javascript
JQuery工具函数汇总
Jun 15 Javascript
详解node.js平台下Express的session与cookie模块包的配置
Apr 26 Javascript
layui表格实现代码
May 20 Javascript
jquery+css实现侧边导航栏效果
Jun 12 jQuery
Node.js实现文件上传的示例
Jun 28 Javascript
vue 2.1.3 实时显示当前时间,每秒更新的方法
Sep 16 Javascript
vue v-for直接循环数字实例
Nov 07 Javascript
JavaScript编写开发动态时钟
Jul 29 Javascript
如何管理Vue中的缓存页面
Feb 06 Vue.js
Javascript自定义事件详解
Jan 13 #Javascript
JavaScript简单生成 N~M 之间随机数的方法
Jan 13 #Javascript
微信小程序 增、删、改、查操作实例详解
Jan 13 #Javascript
jQuery动态生成表格及右键菜单功能示例
Jan 13 #Javascript
Vue数据驱动模拟实现5
Jan 13 #Javascript
利用HTML5+Socket.io实现摇一摇控制PC端歌曲切换
Jan 13 #Javascript
使用jQuery的ajax方法向服务器发出get和post请求的方法
Jan 13 #Javascript
You might like
用PHP查询域名状态whois的类
2006/11/25 PHP
input file获得文件根目录简单实现
2013/04/26 PHP
探讨file_get_contents与curl效率及稳定性的分析
2013/06/06 PHP
php获取文件夹路径内的图片以及分页显示示例
2014/03/11 PHP
PHP实现的QQ空间g_tk加密算法
2015/07/09 PHP
PHP Cookie学习笔记
2016/08/23 PHP
PHP实现正则表达式分组捕获操作示例
2018/02/03 PHP
javascript事件模型代码
2007/07/01 Javascript
jQuery Ajax使用 全解析
2010/12/15 Javascript
按钮JS复制文本框和表格的代码
2011/04/01 Javascript
解决js正则匹配换行问题实现代码
2012/12/10 Javascript
extjs关于treePanel+chekBox全部选中以及清空选中问题探讨
2013/04/02 Javascript
Jquery实现的tab效果可以指定默认显示第几页
2013/10/16 Javascript
jquery检测input checked 控件是否被选中的方法
2014/03/26 Javascript
不得不分享的JavaScript常用方法函数集(下)
2015/12/25 Javascript
移动端点击态处理的三种实现方式
2017/01/12 Javascript
JS实现直接运行html代码的方法
2017/03/13 Javascript
利用PM2部署node.js项目的方法教程
2017/05/10 Javascript
jQuery.ajax向后台传递数组问题的解决方法
2017/05/12 jQuery
在vue中使用Autoprefixed的方法
2018/07/27 Javascript
实例讲解JavaScript截取字符串
2018/11/30 Javascript
vue-cli3+typescript初体验小结
2019/02/28 Javascript
JavaScript解析JSON数据示例
2019/07/16 Javascript
js实现选项卡效果
2020/03/07 Javascript
[01:03:33]Alliance vs TNC 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
用Python输出一个杨辉三角的例子
2014/06/13 Python
Python基于identicon库创建类似Github上用的头像功能
2017/09/25 Python
Django框架之登录后自定义跳转页面的实现方法
2019/07/18 Python
python标准库os库的函数介绍
2020/02/12 Python
python+flask编写一个简单的登录接口
2020/11/13 Python
澳洲Chemist Direct药房中文网:澳洲大型线上直邮药房
2019/11/04 全球购物
加拿大服装和鞋类零售商:Mark’s
2021/01/04 全球购物
大学生优秀的自我评价分享
2013/10/22 职场文书
《云房子》教学反思
2014/04/20 职场文书
2014年电厂工作总结
2014/12/04 职场文书
四年级数学上册教学计划
2015/01/20 职场文书