首页 > 编程语言 >【微信小程序】一文带你搞懂小程序的页面配置和网络数据请求

【微信小程序】一文带你搞懂小程序的页面配置和网络数据请求

时间:2022-10-17 13:02:52浏览次数:79  
标签:请求 微信 配置 程序 request 域名 搞懂 页面


文章目录

页面配置

每个小程序页面都有一个​​.json​​文件,该文件用来对小程序的页面进行配置。

页面配置文件的作用

小程序中,每个页面都有自己的.json配置文件,用来对当前页面的窗口外观、页面效果等进行配置。

页面配置和全局配置的关系

小程序中,app.json中的​​window​​节点,可以全局配置小程序中每个页面的窗口表现。

如:当在app.json中全局配置导航栏的文字为​​苏凉​​​时,此时每个页面的导航栏标题都为​​苏凉​​。

【微信小程序】一文带你搞懂小程序的页面配置和网络数据请求_小程序

如果某些小程序页面想要拥有特殊的窗口表现,此时,“页面级别的 .json配置文件”就可以实现这种需求。

注意:当全局配置和页面配置冲突时,根据就近原则,最终的页面以页面配置的效果为准。

页面配置

在页面配置文件(​​.json​​)中我们可以通过修改以下属性来配置页面文件。

属性名

类型

默认值

说明

​navigationBarTitleText​

String

字符串

导航栏标题文字内容

​navigationBarBackgroundColor​

Hexcolor

#000000

导航栏背景颜色,如#000000

​navigationBarTextStyle​

String

white

导航栏标题颜色,仅支持black / white

​backgroundColor​

Hexcolor

#ffffff

窗口的背景色

​backgroundTextStyle​

string

dark

下拉 loading的样式,仅支持dark / light

​enablePullDownRefresh​

Boolean

false

是否全局开启下拉刷新

​onReachBottomDistance​

Number

50

页面上拉触底事件触发时距页面底部距离,单位为px

如:

【微信小程序】一文带你搞懂小程序的页面配置和网络数据请求_json_02

网络数据请求

网络数据请求的限制

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

  1. 只能请求HTTPS类型的接口
  2. 必须将接口的域名添加到信任列表中,如下图所示:
  3. 【微信小程序】一文带你搞懂小程序的页面配置和网络数据请求_网络_03

下面我们一起来看看如何进行域名配置。

配置request合法域名

步骤:

  1. 登录小程序管理后台:​​微信小程序管理后台​
  2. 【微信小程序】一文带你搞懂小程序的页面配置和网络数据请求_网络_04

  3. 下拉点击开发下的开发设置
  4. 【微信小程序】一文带你搞懂小程序的页面配置和网络数据请求_原力计划_05

  5. 下拉找到服务器域名,点击开始配置
  6. 【微信小程序】一文带你搞懂小程序的页面配置和网络数据请求_json_06

  7. 微信扫码进行身份验证,手机上点击开启
  8. 【微信小程序】一文带你搞懂小程序的页面配置和网络数据请求_小程序_07

  9. 5.输入你需要配置的域名,保存并提交。
  10. 【微信小程序】一文带你搞懂小程序的页面配置和网络数据请求_原力计划_08

  11. 此时在服务器域名中存在了刚刚所提交的域名。即设置成功。
  12. 【微信小程序】一文带你搞懂小程序的页面配置和网络数据请求_微信小程序_09

回到微信小程序开发者工具;详情-项目配置-request合法域名中就保存了刚才我们在小程序管理后台中配置的域名了。此时我们就可以在小程序中合法使用这两个域名。

【微信小程序】一文带你搞懂小程序的页面配置和网络数据请求_微信小程序_10

配置服务器域名注意事项:

  1. 域名只支持https协议
  2. 域名不能使用IP地址或localhost
  3. 域名必须经过ICP备案
  4. 服务器域名一个月内最多可申请5次修改(小程序管理后台显示还可修改49次,为显示bug,实际上就只有5次,请谨慎使用。)

发起get/post请求

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

在wxml中给按钮绑定一个单击事件:

<button type="primary" bindtap="Get_request">发起GET请求</button>

通过wx.request方法请求数据。

Get_request(){
wx.request({
url: 'https://suliang.blog.net', //请求地址
method:"GET", //请求方式
data:{ //发送到服务器的数据
name:'suliang',
age:21
},
success:(result)=>{ //请求成功后的回调函数
console.log(result);
}

})
}

点击按钮,get请求成功。

【微信小程序】一文带你搞懂小程序的页面配置和网络数据请求_网络_11

同理:发起POST请求也是如此,只需将method的值修改为PSOT即可。

在页面刚加载时请求数据

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

/**
* 生命周期函数--监听页面加载
*/
onl oad(options) {
this.Get_request();
},

跳过request合法域名校验

如果后端程序员仅仅提供了http 协议的接口、暂时没有提供https协议的接口。

此时为了不耽误开发的进度,我们可以在微信开发者工具中,临时开启 「开发环境不校验请求域名、TLS版本及HTTPS证书」 选项,跳过request合法域名的校验。

注意:跳过request合法域名校验。仅限在开发和调试阶段使用,正式上线和发布时,仍然需要配置合法的request域名。

【微信小程序】一文带你搞懂小程序的页面配置和网络数据请求_原力计划_12

关于跨域和ajax请求

跨域:指的是浏览器不能执行其他网站的脚本

  1. 跨域问题只存在于基于浏览器的Web开发中。由于小程序的宿主环境不是浏览器而是微信客户端,所以小程序中不存在跨域的问题。
  2. Ajax技术的核心是依赖于浏览器中的XMLHttpRequest这个对象,由于小程序的宿主环境是微信客户端,所以小程序中不能叫做“发起Ajax请求”,而是叫做“发起网络数据请求”。


标签:请求,微信,配置,程序,request,域名,搞懂,页面
From: https://blog.51cto.com/u_15831459/5762336

相关文章

  • STM32固件IAP程序实现
    1.写在前面​IAP全称是InApplicationProgramming,IAP是用户自己的程序在运行过程中对UserFlash的部分区域进行烧写,目的是为了在产品发布后可以方便地通过预留的通信口对产......
  • Tutorial 1_UML与面向对象程序设计基本原则
    [实验任务一]:UML复习阅读教材第一章复习UML,回答下述问题:面向对象程序设计中类与类的关系都有哪几种?分别用类图实例说明。1. 继承关系     继承指的是一个类(称为子......
  • Google已将”XXX”标记为恶意扩展程序并已阻止系统安装它
    在Chrome浏览器中安装扩展程序时报错;Google已将”XXX”标记为恶意扩展程序并已阻止系统安装它 解决方法:1)将下载的扩展插件文件 *.crx,文件名crx后缀改为zip2)并用RA......
  • Java_SE_第八讲:理解面向对象程序设计
    break语句:经常用在循环语句中,用于跳出整个循环,执行循环后面的代码。continue语句:经常用在循环语句中,用于跳出当前的这个循环(或者是跳出本次循环),开始下一次循环的执......
  • 代码块+控制流图+程序切片的学习
    代码基本知识点代码基本块严格的来说,基本块是满足下列条件的一组连续指令代码,程序的执行(控制流)只能从基本块的第一条语句(入口语句)进入,从基本块的最后一条语句离开。int......
  • 桃花庵--程序员版
    写字楼里写字间,写字间中程序员;程序人员写程序,又将程序换酒钱;酒醒只在屏前坐,酒醉还来屏下眠;酒醉酒醒日复日,屏前屏下年复年;但愿老死电脑间,不愿鞠躬老板前;奔驰宝马贵者趣,公交自......
  • MyEclipse技术全面解析——Spring IDE,改变应用程序研发
    通过MyEclipse SpringIDE,您可以获得从内置库到bean开发工具的Spring框架开发所需的所有东西,甚至还可以获得用于启动Spring项目的Springscaffolding。但Spring只是其中的......
  • [oeasy]python0007-调试程序_debug
    ​ 调试程序......
  • 在应用程序中替换Linux中Glibc的malloc的四种方法_转
    转自:在应用程序中替换Linux中Glibc的malloc的四种方法--csdn打算优化系统的内存分配,接管glibc提供的内存管理,但是整个工程的代码量很大,使用malloc、realloc、calloc和free......
  • c# winform 获取当前程序运行根目录
    //获取当前进程的完整路径,包含文件名(进程名)。stringstr1=this.GetType().Assembly.Location;E:\VSworkspace\学习单个项目\ESCollect_Source_V3\bin\Debug\ESCo......