微信小程序與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裏邊的參數的
在這裏插入圖片描述

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章