今天写这篇文章主要是想记录一下,小程序学习的过程,怕久了就忘记了。一直就很不理解为何后端的数据能传到前端,毕竟我也是新手一个。

小程序前端如何到后端服务器上获取数据,主要是通过wx.request这个去接口获取数据。

首先要在服务器上上传一个test.php用json的格式存储一下数据,一会前端将会获取这些数据,第一个例子比较简单,就获取单个字段的数据

例1:

test.php代码:

<?php $arr =array ("title" );echo json_encode($arr); ?>

我们可以访问下接口:

部分前端.js的文件中代码:onLoad: function(e{ var lds = this wx.request({ url'https://cs.1314ym.cn/test.php',

// 仅为示例,需填写自己服务器的地址 data: { cs:"" }, header: { 'content-type''application/json'

// 默认值       

   }, success(res) { console.log(res.data);

//打印到控制台

lds.setData({ cs: res.data //发送到wxml

}) } }) },

前端wxml文件中代码:

<view class="container" wx:if="{{cs!=''}}"><view class="form" ><view class="form-item"><view class="field">姓名</view><input bindinput="infoInput" data-key="realname" placeholder="请输入姓名" placeholderStyle="color:#9C9C9C;" value="{{info.realname}}"></input></view><view class="form-item"><view class="field">手机号</view><input bindinput="infoInput" data-key="mobile" placeholder="请输入手机号" placeholderStyle="color:#9C9C9C;" value="{{info.mobile}}"></input></view><view class="form-item"><view class="field">微信号</view><input bindinput="infoInput" data-key="wxid" placeholder="请输入微信号" placeholderStyle="color:#9C9C9C;" value="{{info.wxid}}"></input></view></view><view bind:tap="doSave" class="sabebtn {{fillCompleted?'save':'no-save'}}">保存信息</view></view>

当我们把后端的 "title" 删除后:

此时接口就没有数据了

接着看前端效果,数据就被隐藏起来了

例2:数组获取

服务器后端tset.php文件代码:

<?php $arr = array ( [ array( 'title'=>'', 'title2'=>'开启' ) ], ); echo json_encode($arr); ?>

显示如下:

部分前端js文件中代码:onLoad: function(e{ var lds = this wx.request({ url'https://cs.1314ym.cn/test.php'// 仅为示例,需填写自己服务器的地址

data: { cs:[] //数组必须加上[]

}, header: { 'content-type''application/json' // 默认值     

     },  success(res) {

console.log(res.data); //打印到控制台 lds.setData({ cs: res.data //发送到wxml

}) } }) },

wxml中的文件代码:

<view class="test" wx:for="{{cs[0]}}"><view class="container" wx:if="{{item.title!=''}}"><view class="form" ><view class="form-item"><view class="field">姓名</view><input bindinput="infoInput" data-key="realname" placeholder="请输入姓名" placeholderStyle="color:#9C9C9C;" value="{{info.realname}}"></input></view><view class="form-item"><view class="field">手机号</view><input bindinput="infoInput" data-key="mobile" placeholder="请输入手机号" placeholderStyle="color:#9C9C9C;" value="{{info.mobile}}"></input></view><view class="form-item"><view class="field">微信号</view><input bindinput="infoInput" data-key="wxid" placeholder="请输入微信号" placeholderStyle="color:#9C9C9C;" value="{{info.wxid}}"></input></view></view><view bind:tap="doSave" class="sabebtn {{fillCompleted?'save':'no-save'}}">保存信息</view></view></view>

前端显示如下:

当我把title改成title2时,此时title2对应的数据是:开启

结果如下:

写的有错误的地方还请见谅,多多指教,因为我也是个新手。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。Aiboom.com 本站分享的WordPress主题/插件均遵循GPLv2 许可协议(免费开源),相关介绍资料仅供参考,实际版本可能会因版本迭代或开发者调整而产生变化。如程序中涉及有第三方原创图像、设计模板、远程服务等内容,应获得作者授权后方可使用。本站不提供该程序/软件的产品授权与技术服务,亦不收取相关费用。