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

2018/4/10 22:02:37
摘要: 微信小程序的服务器中可以设置四种网络访问域名,每一种类型的网络请求需要设置一个对应的域名,并且要注意的是,在设置域名

微信小程序的服务器中可以设置四种网络访问域名,每一种类型的网络请求需要设置一个对应的域名,并且要注意的是,在设置域名的时候,如果将其设置为https://example.com/api/,那么https://example.com/api的话,结果会是无法调用的,必须加上后面/。下面我们讲一下几种网络访问请求的相关内容。

 

1、http请求

 (1)使用wx.request可以发起一个http请求,一个微信小程序最多只能同时有5个网请求。下述的代码会发送http get请求,打印出返回结果。

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)

        }

 

    })

 

}

 (2)参数说明

 

参数

说明

url

 服务器的url地址

data

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

header

设置请求的header

success

接口成功的回调

fail

接口失败的回调

 

  2、上传文件

  上传文件的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)

        }

 

    })

 

}

  3、下载文件

下载文件的api为wx.downloadFile,该api发起http get请求,并在下载成功之后会返回文件的临时路径,示例代码如下。其中的url、header、fail、complete和wx.uploadFile的参数使用与第一点一致,有区别的参数是:

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

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


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)

        }

    })

}

  4、文件保存

下载成功后只是临时文件,只能在程序本次运行期间使用,如果需要长期使用,需要调用方法wx.saveFile主动持久化文件,示例代码如下。

function svaeFile(tempFile,success){

  wx.saveFile({

      tempFilePath:tempFile,

      success:function(res){

          var svaedFile=res.savedFilePath

          if(success){

              success(svaeFile)

          }

      }

  })

}

5、超时设置

在app.js中设置networkTimeout,可以设置四种类型网络访问的超时时间,代码如下。

"networkTimeout":{

   "request": 10000,

   "connectSocket": 10000,

   "uploadFile": 10000,

   "downloadFile": 10000

}


声明:文章"微信小程序开发教程之http请求"为互诚科技—微信小程序开发公司的原创文章,转载请注明出处,谢谢合作!
标签:小程序干货
电话咨询:18011971195(黄先生)
在线留言:
微信扫码,关注我们
相关文章
  • 小程序后台新增运维中心查Bug与用户管理两不误

    还在烦恼小程序时不时出现Bug让人措手不及吗?还在担心小程序Bug会影响小程序的使用体验吗?还在纠结小程序开发出现Bug却不能及时发现吗?从今天开始,这些问题统统

  • 定制开发微信小程序之前需要搞清的4个问题

    一个企业想要定制开发小程序之前,必须要对小程序有一定的了解,特别是以下4个问题,在定制开发之前一定要弄清楚,才能帮助企业做出正确的开发决策。

  • 微信小程序开发技术教程:视图容器组件详解(一)

    微信小程序开发的时候,需要设计一个视图容器组件的问题,它有多种视图样式,每一种都有需要注意的内容。所以

  • 开发一个购物类小程序需要哪些必备功能

    现在的微信平台,不仅仅有微信分销商城、微商城这类电商产品,连最近开发程度火热的微信小程序也有了相应的商城模式。既然作为电子商城,就必须要有齐全的必备功能来保障其运行。小编就以购物类的小程序为例,来谈谈开发这么一个小程序需要哪些必备功能。

  • 开发汽车行业微信小程序,打破汽车门店地域限制

    汽车行业中无论是汽车的售卖还是维修、保养等方面,都是比较低频的商业场景,且由于行业的一些价格、地域等限制,也让汽车行业的发展有了局限性。不过,由于互联网的发展,也出现了很多平台来争先恐后地想解决掉汽车行业的这种局限,微信小程序就是

  • 广州小程序开发公司总结微信小程序最近升级了哪些新能力

    微信官方通过微信公开课向外界宣布,他们在微信小程序开发上又有新动作,各种新能力说升级就升级