微信开发小程序课程心得-网络数据请求(留言面板案例)

这篇具有很好参考价值的文章主要介绍了微信开发小程序课程心得-网络数据请求(留言面板案例)。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

准备工作:

1.合法域名的设置:生产环境中要进行合法域名的设置

打开微信公众平台扫码登录微信公众平台 (qq.com)https://mp.weixin.qq.com/

微信开发小程序课程心得-网络数据请求(留言面板案例),小程序,微信小程序

 

 之后点击左侧开发管理,顶上选择开发设置,在服务服务器域名处点击修改

微信开发小程序课程心得-网络数据请求(留言面板案例),小程序,微信小程序

在request合法域名输入框里输入需要添加的域名,添加多个时以分号' ; '隔开 ,一个月只能改5次

2.留言板大概的wxml布局

微信开发小程序课程心得-网络数据请求(留言面板案例),小程序,微信小程序微信开发小程序课程心得-网络数据请求(留言面板案例),小程序,微信小程序

3.wxml代码
<!--pages/liuyan/liuyan.wxml-->
<!-- 标题 -->
<view class="title">欢迎积极留言</view>
<view class="mes_form">
	<label>
		用户名: <input type="text" placeholder="请输入用户名"/>
	</label>
	<label>
		内容: <textarea></textarea>
	</label>
	<label>
		联系方式: <input type="text" placeholder="请输入11位的手机号"/>
	</label>
	<view>
		<button type="primary" size="mini">提交</button>
	</view>
</view>
<!-- 留言列表 -->
<view class="title2">全部留言</view>
<view class="mes_item">
	<view>
		<text>用户:张三</text>
		<text>时间:2023-12-04 19:35:20</text>
	</view>
	<view>这是留言内容</view>
</view>
4.wxss代码 
/* pages/liuyan/liuyan.wxss */
.title{
	text-align: center;
	font-size: 60rpx;
	font-weight: bold;
	padding: 15rpx;
	letter-spacing: 5rpx;
	/* letter-spacing: 5rpx;字与字 的间距 */
	text-shadow: 2px 2px 3px #4013af;
}
/* 留言表单 */
.mes_form{
	/* vw 相对尺寸, */
	width: 90vw;
	margin: 0 auto;
	min-height: 200rpx;
	border: 2rpx solid #4013af;
	border-radius: 15rpx;
	padding: 20rpx 10rpx;
}
.mes_form label{
	display: flex;
	margin: 15rpx 0;
}
.mes_form input,.mes_form textarea{
	border: 2rpx solid #ccc;
	padding-left: 10rpx;
	border-radius: 8rpx;
}
.mes_form textarea{
	width: 70vw;
	height: 150rpx;
}
.title2{
	font-size: 30rpx;
	font-weight: bold;
	padding: 15rpx;
	letter-spacing: 5rpx;
	margin-top: 20rpx;
}
.mes_item{
  width:85vw ;
  margin:  0 auto;
  box-shadow: 2px 2px 3px 1px #ccc,
  -2px 3px 3px 1px #ccc;
  border-radius: 7rpx;
  padding: 15rpx;
  margin-top: 30rpx;
}
.mes_item view:first-child{
	display: flex;
	justify-content: space-between;
  font-size: 24rpx;
  margin-bottom: 10rpx;
}
.mes_item view:last-child{
	font-size: 24rpx;
}

输入以上代码后即可完成基本的布局样式 

大概思路:输入内容点击提交后即发起网络请求,所以我们要先绑定提交事件微信开发小程序课程心得-网络数据请求(留言面板案例),小程序,微信小程序

开始输写js代码

 1.绑定提交按钮

找到该页的wxml中的提交按钮为其绑定一个点击事件,点击后会立刻调用一个名为onSubmit(名字可自定义)的函数。然后在该页面的js页与data同级的地方书写点击函数函数 onSubmit

	<button type="primary" size="mini" bind:tap="onSubmit">提交</button>

为了获取用户输入 的数据,我们还要为这几个输入框分别绑定数据

		用户名: <input type="text" placeholder="请输入用户名" value="{{username}}"/>


		内容: <textare  value="{{con}}"></textarea>


		联系方式: <input type="text" placeholder="请输入11位的手机号"  value="{{tel}}"/>

这里的变量名为别是:用户名username,内容con,联系方式tel。然后在js的  data函数中定义变量,设 初始值为空,

 2.绑定输入事件

为了在点击时获取输入框的 我们需要绑定 输入事件

在wxml书写绑定函数

		用户名: <input type="text" placeholder="请输入用户名" value="{{username}}" bindinput="getUsername"/>

		内容: <textare  value="{{con}}" bindinput="getCon"></textarea>

		联系方式: <input type="text" placeholder="请输入11位的手机号"  value="{{tel}}" bindinput="getTel"/>

在js中书写输入事件的函数

  getUsername(e) { //参数选择事件对象e
    // console.log(e);测试打印e对象
    // e.datail.value//获取e对象中的datail属性中value的 值
    this.setData({
      username: e.detail.value//把输入的 值赋给变量username
    })
  },
  getCon(e) { 
    this.setData({
      con: e.detail.value
    })
  },
  getTel(e) { 
    this.setData({
      tel: e.detail.value
    })
  },
3.发送请求 

在点击函数onSubmit里调用系统函数wx.request,在点击时会发起请求,

在url处书写接口地址。method书写请求方式,这是请求的类型 为POST,POST请求需要在后面 书写

      header: {

         'content-type' :'application/x-www-form-urlencoded'

        }

然后再写个data对象,对象里写上接口所要求填的 参数,然后再写箭头回调函数success,参数名任取为res,可以用console.log(res)打印一下res对象,看是否留言成功。然后进行if判断,如果留言成功,那就清空输入框的数据。这里留言成功的标志性代码code值是200,所以判断就是if(res.data.code==200),判断为真是就调用setData函数将这几个变量的值重制为空。

如果想留言成功以后提示“留言成功”则需调用系统函数wx.showToast({})

具体代码如下:

  //提交表单函数
  onSubmit() {
    // console.log('测试绑定');
    // console.log(this.data.username);
    //1获取用户输入的数据
    //2发送请求
    wx.request({
      url: 'https://www.yjyan.cn/wechat/message/messAdd.php',
      method:"POST",
      header: {
         'content-type' :'application/x-www-form-urlencoded'
        },
        data:{
          name:this.data.username,
          content:this.data.con,
          phone:this.data.tel,//为借口里的变量赋值
        },
        success:(res)=>{
          console.log(res);
          //开始进行判断,若留言成功则提示留言成功,并清空表单
          if (res.data.code==200) {
            //提示留言成功
            wx.showToast({
              title: '留言成功',
              icon:'success'
            })
            //清空表单
            this.setData({
              username: '',
              con: '',
              tel: ''
            })
          }
        }
    })
  },
4.发送请求成功后将数据渲染到页面中来
4.1书写请求函数

书写一个获取留言数据列表的函数getMessList(),在函数中调用wx.request获取留言列表的请求,,请求方式为GET请求,参数可写可不写,然后调用回调函数success,打印res看看

//获取留言数据列表函数
getMessList(){
  wx.request({
    url: 'https://www.yjyan.cn/wechat/message/messList.php',
    method:"GET",
    // curpage:1,这两个是接口所传递的参数,有默认值,可更改,curpage当前页,row每页显示的数量
    // row:5,
    success:(res)=>{
      console.log(res.data);
    }
  })
},
4.2调用请求函数

在生命周期函数 onLoad(options) 中调用请求函数getMessList()

  /**
   * 生命周期函数--监听页面加载
   */
  onLoad(options) {
    this.getMessList()
  },
4.3完善请求函数

在data函数里定义一个空的mesList数组,用来接受数据库传过来的数据

  data: {
    username: '',
    con: '',
    tel: '',
    mesList:[]
  },

回调函数里加判断,当请求成功后,将数据库穿过来的数据赋值给空数组

      if (res.data.code==200) {
        //清空表单
        this.setData({
          mesList:res.data.rows
        })
      }
4.4为留言表单标签增加for循环

给渲染留言数据的view标签增加for循环,循环变量选择mesList数组,指定key值是index,将对应数据改给相应的变量

<view class="mes_item" wx:for="{{mesList}}" wx:key="index">
	<view>
		<text>用户:{{item.username}}</text>
		<text>时间:{{item.message_time}}</text>
	</view>
	<view>内容:{{item.message_content}}</view>
</view>

此时我们已经能提交数据到数据库了,并且刷新后会渲染出来,但是这还不够,我们要一点提交数据就立即渲染到页面中

4.5提交即渲染

在提交函数onSubmit()中的if判断里调用请求函数

微信开发小程序课程心得-网络数据请求(留言面板案例),小程序,微信小程序

这样点击提交后数据会立即渲染到页面中,至此,留言功能已经完成 文章来源地址https://www.toymoban.com/news/detail-756113.html

到了这里,关于微信开发小程序课程心得-网络数据请求(留言面板案例)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 微信小程序之WXSS模板样式、页面配置(.json)和网络数据请求

    学习的最大理由是想摆脱平庸,早一天就多一份人生的精彩;迟一天就多一天平庸的困扰。各位小伙伴,如果您: 想系统/深入学习某技术知识点… 一个人摸索学习很难坚持,想组团高效学习… 想写博客但无从下手,急需写作干货注入能量… 热爱写作,愿意让自己成为更好

    2024年01月24日
    浏览(59)
  • 【微信小程序入门到精通】— 配置合法域名、进行网络数据请求(GET、POST)

    对于目前形式,微信小程序是一个热门,那么我们该如何去学习并且掌握之后去做实际项目呢? 为此我特意开设此专栏,在我学习的同时也将其分享给大家! 本篇文章主要给大家带来进行网络数据请求的方法,那么接下来我们一起学起来吧! 如果在往下阅读的过程中,有什

    2024年02月03日
    浏览(59)
  • 微信小程序使用uni-app开发小程序及部分功能实现详解心得

    目录 一、uni-app 1、简介 2、开发工具 3、新建 uni-app项目 4、把项目运行到微信开发者工具 二、实现tabBar效果 1、创建tabBar页面 2、配置tabBar 1、创建分包目录 2、在 pages.json 文件中配置 3、创建分包页面 四、公用方法封装 五、搜索功能 1、搜索组件 2、搜索建议实现 3、本地存储

    2024年02月11日
    浏览(62)
  • 微信小程序(二)--- 数据绑定,事件绑定,全局配置window,tabBar,网络数据请求,request合法域名,GET,POST

    目录 一、WXML模板语法 1、数据绑定 (1)Mustache语法 2、事件绑定  (1)常用事件  (2)属性列表  (3)target和currentTarget的区别  (4)bindtap语法格式  (5)在事件处理函数中为data中的数据赋值 (6)事件传参 (7)bindinput的语法格式 (8)实现文本框(input)和data之间的数

    2024年02月04日
    浏览(46)
  • 微信小程序网络请求封装

    网络请求地址放到url.js中,分别制定开发环境,体验环境,线上环境 网络请求的方法放到request.js中,暴露get、post、wxLogin方法 请求前显示加载中,请求结束后隐藏加载中 请求的接口方法,放到api.js中,并调用request.js中对应的方法 2.1 请求地址(url.js) 2.3 具体的请求方法(api.

    2024年02月15日
    浏览(39)
  • 微信小程序中发送网络请求

    代码涉及的主要文件有: app.json pages/index/index.wxml pages/index/index.wxss pages/index/index.js 微信小程序提供了 wx.request(Object object) 这个API,用于发送网络请求,该API接受一个对象作为参数,该对象包含多个属性,其中常用的有: url ,请求的地址,string类型,必填。 data ,请求的参数

    2024年02月09日
    浏览(43)
  • 微信小程序:文本读写与网络请求

    一、本地用户文件读写: 1.普通接口操作文件: (1)写入文件内容: (2)读取文件内容: 2.FD接口操作文件(适用大量文件操作): (1)写入文件内容: (2)读取文件内容: 二、网络请求: 配置服务器域名: 进入以下地址,在服务器域名 - 点击修改按钮, 添加\\\"request合法域名、upl

    2024年02月15日
    浏览(38)
  • 【小程序教程】微信小程序之request网络请求

    微信小程序提供了request网络请求的API,可以用于与后台服务器进行数据交互,实现数据的获取和提交等功能。在本文中,将介绍如何使用request网络请求API,并提供一个示例代码,帮助大家更好地理解。 使用request网络请求API的步骤如下: 在小程序页面中,需要在页面或者组

    2024年02月04日
    浏览(47)
  • 微信小程序基于Promise封装发起网络请求

         

    2024年02月17日
    浏览(55)
  • 【微信小程序】挂载网络请求到全局this对象

    《工欲善其事,必先利其器》 有一些常用的东西,如 http 请求、弹窗、错误处理等等,如果在每个页面都引用一遍,会增加不必的代码量,我们可以在 app.js 中对 Page 对象进行简单地封装,从而让 Page 的能力更强。 一、封装原生网络请求 request.js : 二、app.js 引入网络请求,

    2024年02月07日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包