微信小程序数据请求的方式和注意事项详解

目录
  • 1.小程序中网络数据请求的限制
  • 2.配置request合法域名
  • 3.发起GET请求
  • 4.发起POST请求
  • 5.在页面刚加载时请求数据
  • 6.跳过request合法域名校验
  • 7.关于跨域和Ajax的介绍

1.小程序中网络数据请求的限制

出于安全性方面的考虑,小程序官方对数据接口的请求做出了如下两个限制:

① 只能请求HTTPS类型的接口

② 必须将接口的域名添加到信任列表中

2.配置request合法域名

假设要在自己的微信小程序中,希望请求某一域名下的接口,则配置步骤如下:

登录微信小程序管理进后台->开发->开发管理->开发设置->服务器域名->修改request合法域名

注意事项:

① 域名只支持https协议

② 域名不能使用IP地址或localhost

③ 域名必须经过ICP备案

④ 服务器域名一个月内最多可申请修改5次

3.发起GET请求

调用微信小程序提供的wx.request()方法,可以发起GET数据请求。

首先设置好请求域名,然后操作如下:

<button type="primary" bindtap="Info">GET获取请求</button>
.js文件和data数据平级
Info(){
    wx.request({
      // 请求路径
      url:"https://www.escook.cn/api/get",
      // 请求方式
      method:"GET",
      // 发送到服务器的数据
      data:{
        name:"张三",
        age:20
      },
      // 成功之后的回调函数
      success:(res)=>{
        console.log(res);
      }
    })
  },

4.发起POST请求

调用微信小程序提供的wx.request()方法,可以发起POST数据请求

<button type="primary" bindtap="PostInfo">POST获取请求</button>
  PostInfo(){
    wx.request({
      // 请求路径
      url:"https://www.escook.cn/api/post",
      // 请求方式
      method:"POST",
      // 发送到服务器的数据
      data:{
        name:"张三",
        age:20
      },
      // 成功之后的回调函数
      success:(res)=>{
        console.log(res);
      }
    })
  },

5.在页面刚加载时请求数据

在很多情况下,我们需要在页面刚加载的时候,自动请求一些初始化的数据。此时需要在页面的onLoad事件中调用获取数据的函数

 /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
this.PostInfo()
  },

6.跳过request合法域名校验

如果后端仅仅提供了http协议的接口,暂时没有https接口,此时可以通过以下设置跳过request合法域名校验。

注意:仅在开发调试阶段使用。

7.关于跨域和Ajax的介绍

跨域问题只存在于基于浏览器的web开发中,由于小程序的宿主环境不是浏览器,而是微信客户端,所以小程序不存在跨域问题。

Ajax技术的核心是依赖于浏览器中的XMLHttpRequest这个对象,而小程序的宿主环境是微信客户端,所以小程序无法叫“发起Ajax请求”,而是叫“发起网络数据请求”。

到此这篇关于微信小程序数据请求的方式和注意事项详解的文章就介绍到这了,更多相关小程序数据请求内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 微信小程序前后端数据交互的详细图文教程

    目录 前言 一 微信小程序发送请求 二 后端接口接受小程序请求并返回数据 三 最后的效果图 总结 前言 先简单说一下我写的这个危险小程序前后端交互的业务,主要是两个数据:supplyCount和wantBuyCount,分别代表我的车源和我的求购.目前的需求就是小程序向后端发送请求,然后后端从数据库获取车源和求购的数量反馈给小程序,最后将这两个数据显示出来. 因为就两个数据所以处理起来是比较简单的,可以把这个当做小程序前后端交互最基础CRUD方法,属于是打基础的技能. 一 微信小程序发送请求 首

  • 微信小程序全局数据共享和分包图文详解

    目录 引言 全局数据共享 安装 MobX 相关的包 创建Store实例 将 Store 中的成员绑定到页面中 在页面使用 Store 中的成员 将 Store 成员绑定到组件中 在组件中使用 Store 中的成员 分包 分包的项目构成: 分包的加载规则: 分包的体积限制: 创建分包 打包原则 分包的引用原则 独立分包 独立分包的引用原则 分包预下载 总结 引言 经过web前端开发的学习,相信大家对于前端开发有了一定深入的了解,今天我开设了微信小程序专栏,主要想从移动端开发方向进一步发展,而对于我

  • 微信小程序中如何使用store数据共享

    全局数据共享 全局数据共享(状态管理)是为了解决组件之间数据共享的问题,开发中常用的全局数据共享方案有:Vuex.Redux.MobX等 在小程序中,可用 mobx-miniprogram (用来创建 Store 实例对象) 配合 mobx-miniprogram-bindings (用来把 Store 中的共享数据或方法,绑定到组件和页面中使用)实现全局数据共享 安装 MobX 相关的包 在项目中运行如下命令,安装 MobX相关的包:(注意要启用管理员权限) 安装完成重新构建 npm 第一步:

  • 微信小程序request请求后台接口php的实例详解

    微信小程序request请求后台接口php的实例详解 后台php接口:http://www.vueyun.com/good/info 没有处理数据,直接返回了,具体再根据返回格式处理 public function getGoodInfo(Request $request) { $goods_datas = $this->Resource->get(); return response()->json(['status' => 'success','code' => 200,

  • 微信小程序获取用户信息并保存登录状态详解

    前言 微信小程序的运行环境不是在浏览器下运行的.所以不能以cookie来维护登录态.下面我就来说说我根据官方给出的方法来写出的维护登录态的方法吧. 一.登录态维护 官方的文档地址:https://mp.weixin.qq.com/debug/wxadoc/dev/api/api-login.html#wxloginobject 通过 wx.login() 获取到用户登录态之后,需要维护登录态.开发者要注意不应该直接把 session_key.openid 等字段作为用户的标识或者 session

  • SpringBoot+微信小程序实现文件上传与下载功能详解

    目录 1.文件上传 1.1 后端部分 1.2 小程序前端部分 1.3 实现效果 2.文件下载 2.1 后端部分 2.2 小程序前端部分 2.3 实现效果 1.文件上传 1.1 后端部分 1.1.1 引入Apache Commons FIleUpload组件依赖 <!--文件上传与下载相关的依赖--> <dependency> <groupId>commons-fileupload</groupId> <artifactId>commons-fil

  • 微信小程序 消息推送php服务器验证实例详解

    微信小程序 消息推送php服务器验证实例详解 微信文档(靠下有个"接入指引"):https://mp.weixin.qq.com/debug/wxadoc/dev/api/custommsg/callback_help.html 设置页面("设置">>"开发设置"): https://mp.weixin.qq.com/wxopen/initprofile?action=home&lang=zh_CN 1.设置服务器域名 比如:

  • 微信小程序中子页面向父页面传值实例详解

    微信小程序中子页面向父页面传值实例详解 上面一张图是编辑款项页面,下面一张图是点击了编辑款项页面中选择好友的图标后打开的子页面.这个时候点选子页面的某个好友时,需要把好友的名字传递回编辑款项父页面. 采取的方法: 从页面路由栈中直接获取和操作目标Page对象,这种方式,是通过调用小程序的API: getCurrentPages(),来获取当前页面路由栈的信息,这个路由栈中按照页面的路由顺序存放着相应的Page对象,我们可以很容易的获取到上一级页面的完整Page对象,从而使直接调用Page对象的属

  • 微信小程序 页面跳转事件绑定的实例详解

    微信小程序 页面跳转事件绑定的实例详解 什么是事件 事件是视图层到逻辑层的通讯方式. 事件可以将用户的行为反馈到逻辑层进行处理. 事件可以绑定在组件上,当达到触发事件,就会执行逻辑层中对应的事件处理函数. 事件对象可以携带额外信息,如 id, dataset, touches. 在组件中绑定一个事件处理函数. 如bindtap,当用户点击该组件的时候会在该页面对应的Page中找到相应的事件处理函数 <view bindtap="view"> <text bindtap

  • 微信小程序点击控件修改样式实例详解

    微信小程序点击控件修改样式实例详解 现在要在微信小程序中实现点击控件修改样式,如下: 微信小程序中不支持直接操作dom,要实现这种效果,我们需要通过设置data,然后利用数据和界面的双向绑定来实现它. 第一步:在wxss中定义被点击和未被点击的样式,如下: .service_selection .is_checked{ border: 1px solid #FE0002 ; color: #FE0002 ; background: #fff; } .service_selection .norm

  • 微信小程序wx:for和wx:for-item的用法详解

    wx:for="{{list}}"用来循环数组,而list即为数组名wx:for-item="items" 即用来定义一个循环过程中每个元素的变量的 如果是一维数组,按照如下方式循环出来: <view wx:for="{{list}}"> {{index}} {{item.name}} </view> 以上代码中,item即为list的别名. 如果是二维甚至多维数组,按照如下方式循环: <view wx:for=&q

  • 微信小程序实现页面导航与传参功能详解

    目录 一.页面导航 概述 分类 声明式导航 导航到tabBar页面 导航到非tabBar页面 后退导航 编程式导航 导航到tabBar页面 导航到非tabBar页面 后退导航 导航传参 声明式导航传参 编程式导航传参 一.页面导航 概述 顾名思义,页面导航指的是页面之间的相互跳转, 而页面传参就是在加载页面时将特定的参数传递过去从而成为该页面的参数. 分类 声明式导航:在页面上声明一个<navigator>导航组件,通过点击该组件实现页面跳转 编程式导航:通过调用小程序专门的导航API,实现页

  • 微信小程序 监听手势滑动切换页面实例详解

    微信小程序 监听手势滑动切换页面实例详解 1.对应的xml里写上手势开始.滑动.结束的监听: <view class="touch" bindtouchstart="touchStart" bindtouchmove="touchMove" bindtouchend="touchEnd" ></view> 2.js: var touchDot = 0;//触摸时的原点 var time = 0;// 时

随机推荐