• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >微信小程序 > 微信小程序开发之http请求

微信小程序开发之http请求

作者:匿名 字体:[增加 减小] 来源:互联网 时间:2018-11-30

匿名通过本文主要向大家介绍了微信,Http,Web等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
在微信小程序进行网络通信,只能和指定的域名进行通信,微信小程序包括四种类型的网络请求:普通HTTPS请求(wx.request)、上传文件(wx.uploadFile)、下载文件(wx.downloadFile)、WebSocket通信(wx.connectSocket)。这里以介绍wx.request,wx.uploadFile,wx.dowloadFile三种网络请求为主。

在微信小程序进行网络通信,只能和指定的域名进行通信,微信小程序包括四种类型的网络请求。

  • 普通HTTPS请求(wx.request)

  • 上传文件(wx.uploadFile)

  • 下载文件(wx.downloadFile)

  • WebSocket通信(wx.connectSocket)

这里以介绍wx.request,wx.uploadFile,wx.dowloadFile三种网络请求为主。

设置域名

要微信小程序进行网络通信,必须先设置域名,不然会出现错误:

URL 域名不合法,请在 mp 后台配置后重试

需要在微信公众平台的小程序中设置域名。

在微信小程序的设置界面可以看到设置选项:

微信小程序开发之http请求

选择开发设置:


.微信小程序开发之http请求

可以看到服务器设置:

微信小程序开发之http请求

在这里可以设置对应四种网络访问的域名,每一种类型的网络请求需要设置一个域名,注意如果在这里设置域名为http:///,那么http:///是无法调用的,必须加上后面/。

http请求

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

function queryRequest(data){         wx.request({         url:"https://example.com/api/",         data:data,         header:{            // "Content-Type":"application/json"         },         success:function(res){             console.log(res.data)         },         fail:function(err){             console.log(err)         }      })  }

上面的代码会发送一个http get请求,然后打印出返回的结果。其中的参数也比较容易理解。

  • url 服务器的url地址

  • data 请求的参数可以采用String data:"xxx=xxx&xxx=xxx"的形式或者Object data:{"userId":1}的形式

  • header 设置请求的header

  • success 接口成功的回调

  • fail 接口失败的回调

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

  • method http的方法,默认为GET请求

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

上传文件

上传文件的api为wx.uploadFile,该api会发起一个http post请求,其中的Content-type为multipart/form-data。服务器端需要按照该Content-type类型接收文件,示例代码:

function uploadFile(file,data) {     wx.uploadFile({         url: 'http://example.com/upload',         filePath: file,         name: 'file',         formData:data,         success:function(res){             console.log(res.data)         },         fail:function(err){             console.log(err)         }      })      }

其中的url,header,success,fail以及complete和普通的http请求是一样的。

这里有区别的参数是:

  • name文件对应的key,服务器端需要通过name参数获取文件

  • formData http请求中可以使用的其他参数

下载文件

下载文件的api为wx.downloadFile,该api会发起一个http get请求,并在下载成功之后返回文件的临时路径,示例代码:

function downloadFile(url,typ,success){     wx.downloadFile({         url:url,         type:typ,         success:function(res){             if(success){                 success(res.tempFilePath)             }         },         fail:function(err){             console.log(err)         }     }) }

其中的url,header,fail,complete和wx.uploadFile的参数使用是一致的,其中有区别的参数是:

  • type:下载资源的类型,用于客户端自动识别,可以使用的参数image/audio/video

  • success:下载成功之后的回调,以tempFilePath的参数返回文件的临时目录:res={tempFilePath:'文件路径'}

下载成功后的是临时文件,只会在程序本次运行期间可以使用,如果需要持久的保存,需要调用方法wx.saveFile主动持久化文件,实例代码:

function svaeFile(tempFile,success){     wx.saveFile({         tempFilePath:tempFile,         success:function(res){             var svaedFile=res.savedFilePath             if(success){                 success(svaeFile)             }         }     }) }

使用wx.saveFile保存临时文件到本地,提供给小程序下次启动时使用,其中的参数:

  • tempFilePath 需要被保存文件的路径

  • success 保存成功的回调,返回保存成功的路径,使用res.savedFilePath可以获取保存成功的路径

  • fail 失败的回调

  • complete结束的回调

超时的设置

在微信小程序开发:MINA中已经提到了在app.js中设置networkTimeout可以设置四种类型网络访问的超时时间:

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

这里设置的超时时间对应着四种类型的网络请求。

更多微信小程序开发之http请求相关文章请关注微课江湖!

分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 微信小程序跟读 demo代码
  • 微信小程序-GetWeApp聊天室 代码
  • 微信小程序demo 仿手机淘宝
  • 微信小程序Markdown渲染库
  • 微信小程序 Artand 瀑布流风格 代码demo
  • 微信小程序高仿手机QQ应用程序
  • 微信小程序-小商城前台
  • 微信小程序仿手机淘宝demo代码
  • 微信小程序仿Apple Music demo代码
  • 微信小程序整合一套UI库

相关文章

  • 2018-11-30微信小程序:地理位置 API,图片信息 API
  • 2018-11-30微信小程序如何获取javascript里的数据
  • 2018-11-30微信小程序使用audio组件播放音乐功能示例
  • 2018-11-30小程序中搜索功能的实现方法(代码)
  • 2018-11-30关于微信小程序 欢迎界面开发的介绍
  • 2018-11-30小程序开发破解教程
  • 2018-11-30关于微信小程序中图片处理的问题总结
  • 2018-11-30微信小程序购物商城系统开发所需工具
  • 2018-11-30微信小程序 二维码canvas绘制实例详解
  • 2018-11-30微信小程序实现皮肤的夜间模式

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 关于微信小程序在Chrome浏览器上运行以及WebStorm的使用
    • 小程序开发之解析网页内容
    • 微信小程序实现皮肤的夜间模式
    • 微信小程序的局部元素的隐藏
    • 微信小程序progress组件的使用介绍
    • 分享一个微信小程序页面传值小探
    • 微信小程序之制作自定义圆形进度条
    • 谈谈多客服功能的现状与实例
    • 微信小程序机器人自动客服功能
    • 微信小程序loading组件如何载入动画方法教程

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有