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


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 相关文章推荐
jquery 输入框数字限制插件
Nov 10 Javascript
Jquery树插件zTree用法入门教程
Feb 17 Javascript
整理Javascript事件响应学习笔记
Dec 02 Javascript
JavaScript Math.round() 方法
Dec 18 Javascript
BootStrap的alert提示框的关闭后再显示怎么解决
May 17 Javascript
javascript 分号总结及详细介绍
Sep 24 Javascript
jquery二级目录选中当前页的css样式
Dec 08 Javascript
浅谈jQuery操作类数组的工具方法
Dec 23 Javascript
vue-router 学习快速入门
Mar 01 Javascript
微信小程序 页面传值详解
Mar 10 Javascript
微信小程序基于slider组件动态修改标签透明度的方法示例
Dec 04 Javascript
Bootstrap-table自定义可编辑每页显示记录数
Sep 07 Javascript
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
用文本文件制作留言板提示(下)
2006/10/09 PHP
解析PHP获取当前网址及域名的实现代码
2013/06/23 PHP
php正则preg_replace_callback函数用法实例
2015/06/01 PHP
PHP变量赋值、代入给JavaScript中的变量
2015/06/29 PHP
php使用pear_smtp发送邮件
2016/04/15 PHP
PHP INT类型在内存中占字节详解
2019/07/20 PHP
jQuery EasyUI 中文API Layout(Tabs)
2010/04/27 Javascript
自写简单JS判断是否已经弹出页面
2010/10/20 Javascript
node.js中的console.timeEnd方法使用说明
2014/12/09 Javascript
jQuery动画效果实现图片无缝连续滚动
2016/01/12 Javascript
基于javascript html5实现多文件上传
2016/03/03 Javascript
微信小程序 实例应用(记账)详解
2016/09/28 Javascript
jquery 删除节点 添加节点 找兄弟节点的简单实现
2016/12/07 Javascript
原生js实现类似fullpage的单页/全屏滚动
2017/01/22 Javascript
vue使用vue-i18n实现国际化的实现代码
2018/04/08 Javascript
浅谈vue中使用编辑器vue-quill-editor踩过的坑
2020/08/03 Javascript
再也不怕 JavaScript 报错了,怎么看怎么处理都在这儿
2020/12/09 Javascript
python通过openpyxl生成Excel文件的方法
2015/05/12 Python
在java中如何定义一个抽象属性示例详解
2017/08/18 Python
Python3离线安装Requests模块问题
2019/10/13 Python
python机器学习库xgboost的使用
2020/01/20 Python
有关Tensorflow梯度下降常用的优化方法分享
2020/02/04 Python
python实现简单井字棋小游戏
2020/03/05 Python
探讨HTML5移动开发的几大特性(必看)
2015/12/30 HTML / CSS
Chemist Warehouse官方海外旗舰店:澳洲第一连锁大药房
2017/08/25 全球购物
饿了么订餐官网:外卖、网上订餐
2019/06/28 全球购物
鼓励运动员的广播稿
2014/02/08 职场文书
《理想的风筝》教学反思
2014/04/11 职场文书
视光学专业自荐信
2014/06/24 职场文书
法英专业大学生职业生涯规划范文:衡外情,量己力!
2014/09/23 职场文书
第二次离婚起诉书
2015/05/18 职场文书
千手观音观后感
2015/06/03 职场文书
步步惊心观后感
2015/06/12 职场文书
教你使用Pandas直接核算Excel中快递费用
2021/05/12 Python
SQLServer中exists和except用法介绍
2021/12/04 SQL Server
【DOTA2】当街暴打?PSG LGD vs VG - DPC 2022 WINTER TOUR CN
2022/04/02 DOTA