微信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裏邊的參數的