微信小程序与PHP数据交互

微信js源码

Page({
  
  onLoad: function () {
    var that = this
    wx.request({
    //要交互页面的地址
      url: 'http://localhost/php/index.php/Wxwater/Test/test',
      data:{
        pid:1 //data里边使我们要传递给PHP的数据
      },
      method: 'GET',
      headers: {
        'Content-Type': 'application/json'
      },
      success(res) {
        console.log(res.data)
        that.setData({
          userdata : res.data
        })
      }
    })
  }
})

url路径在开发时可以设置一下:在这里插入图片描述
wxml代码:

<view>
  <block wx:for="{{userdata}}" wx:key="key" for-item="item">
    <view>id:{{item.id}}</view>
    <view>性别:{{item.sex}}</view>
    <view>职位:{{item.username}}</view>

  </block>
</view>

PHP代码以及表信息:

public function test(){
		$pid = I('get.pid');
		$model = M('user');
		$data = $model -> field('id ,username ,sex') -> where("pid = $pid") -> select();
		echo json_encode($data);
	}

在这里插入图片描述
这里根据我的传递参数查询pid = 1 信息
控制台传递的结果:
在这里插入图片描述
小程序页面显示:
在这里插入图片描述
以上都是正常情况下的结果。

如果控制台出现这种情况:
如果你使用的是thinkPHP3的话,打开conf文件,将跟踪信息注释或关掉然后再运行一下

//显示跟踪信息
    'SHOW_PAGE_TRACE'       => false;

在PHP接收小程序数据的时候,不要去打印获取到的数据,因为是空的,而且会在sql语句那里报错。
在这里插入图片描述

		$pid = I('pid');
		dump($pid);
		$model = M('user');
		$data = $model -> field('id ,username ,sex') -> where("pid = $pid") -> select();
		echo json_encode($data);

原因是:你使用浏览器直接访问的方法,不携带任何参数,所以会报错,而微信小程序访问的时候携带着data里边的参数的
在这里插入图片描述

  • 1
    点赞
  • 44
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值