本文目錄一覽:
- 1、微信小程序怎麼向外部php文件傳遞參數
- 2、微信小程序如何使用PHP實現文件上傳
- 3、為什麼 PHP接收不到微信小程序傳遞的數據
- 4、小程序頁面傳遞數據 、傳遞數組對象 小程序傳值
- 5、微信小程序–如何在兩個頁面之間傳值
- 6、微信小程序小遊戲demo php怎麼接值
微信小程序怎麼向外部php文件傳遞參數
PAY頁面往 js_api_call.php 傳值 獲取不到的問題
echo 是可以echo出來的 但是
這裡不寫死就會報錯 $key0$
?php
/**
* JS_API支付demo
* ====================================================
* 在微信瀏覽器裡面打開H5網頁中執行JS調起支付。介面輸入輸出數據格式為JSON。
* 成功調起支付需要三個步驟:
* 步驟1:網頁授權獲取用戶openid
* 步驟2:使用統一支付介面,獲取prepay_id
* 步驟3:使用jsapi調起支付
*/
//獲取信息
@$name=”支付測試-包包”;
@$price=0.01*100;
@$hyid=$_GET[‘hyid’];
@$out_trade_no=$_GET[‘num’];//訂單號
include_once(“../WxPayPubHelper/WxPayPubHelper.php”);
//使用jsapi介面
$jsApi = new JsApi_pub();
//=========步驟1:網頁授權獲取用戶openid============
//通過code獲得openid
if (!isset($_GET[‘code’]))
{
//觸發微信返回code碼
$url = $jsApi-createOauthUrlForCode(WxPayConf_pub::JS_API_CALL_URL);
Header(“Location: $url”);
}else
{
//獲取code碼,以獲取openid
$code = $_GET[‘code’];
$jsApi-setCode($code);
$openid = $jsApi-getOpenId();
}
//=========步驟2:使用統一支付介面,獲取prepay_id============
//使用統一支付介面
$unifiedOrder = new UnifiedOrder_pub();
//設置統一支付介面參數
//設置必填參數
//appid已填,商戶無需重複填寫
//mch_id已填,商戶無需重複填寫
//noncestr已填,商戶無需重複填寫
//spbill_create_ip已填,商戶無需重複填寫
//sign已填,商戶無需重複填寫
$unifiedOrder-setParameter(“openid”,”$openid”);//商品描述
$unifiedOrder-setParameter(“body”,”$name”);//商品描述
//自定義訂單號,此處僅作舉例
$timeStamp = time();
$out_trade_no = WxPayConf_pub::APPID.”$timeStamp”;
$unifiedOrder-setParameter(“out_trade_no”,”$out_trade_no”);//商戶訂單號
$unifiedOrder-setParameter(“total_fee”,”$price”);//總金額
$unifiedOrder-setParameter(“notify_url”,””);//通知地址
$unifiedOrder-setParameter(“trade_type”,”JSAPI”);//交易類型
//非必填參數,商戶可根據實際情況選填
//$unifiedOrder-setParameter(“sub_mch_id”,”XXXX”);//子商戶號
//$unifiedOrder-setParameter(“device_info”,”XXXX”);//設備號
//$unifiedOrder-setParameter(“attach”,”XXXX”);//附加數據
//$unifiedOrder-setParameter(“time_start”,”XXXX”);//交易起始時間
//$unifiedOrder-setParameter(“time_expire”,”XXXX”);//交易結束時間
//$unifiedOrder-setParameter(“goods_tag”,”XXXX”);//商品標記
$unifiedOrder-setParameter(“attach”,”2″);//會員ID
$prepay_id = $unifiedOrder-getPrepayId();
//=========步驟3:使用jsapi調起支付============
$jsApi-setPrepayId($prepay_id);
$jsApiParameters = $jsApi-getParameters();
//echo $jsApiParameters;
?
html
head
meta charset=”utf-8″
title支付頁面/title
script type=”text/javascript”
//調用微信JS api 支付
function jsApiCall()
{
WeixinJSBridge.invoke(
‘getBrandWCPayRequest’,
?php echo $jsApiParameters; ?,
function(res){
WeixinJSBridge.log(res.err_msg);
if(res.err_msg == “get_brand_wcpay_requestk”){
window.location.href=’/shop/successful.php?spmc=?php echo $name; ?price=?php echo $price; ?’;
//history.go(-1);
}else{
window.location.href=’/shop/pay.php’;
}
}
);
}
if (typeof WeixinJSBridge == “undefined”){
if( document.addEventListener ){
document.addEventListener(‘WeixinJSBridgeReady’, jsApiCall, false);
}else if (document.attachEvent){
document.attachEvent(‘WeixinJSBridgeReady’, jsApiCall);
document.attachEvent(‘onWeixinJSBridgeReady’, jsApiCall);
}
}else{
jsApiCall();
}
/script
/head
/html
微信小程序如何使用PHP實現文件上傳
調用小程序文件上傳api
伺服器接收到微信post過來的文件之後,php處理代碼和傳統文件上傳代碼一樣
為什麼 PHP接收不到微信小程序傳遞的數據
1、看介面能不能正常訪問,返回值小程序是否能接到
2,如果都能,看看傳值方式post或者get
小程序頁面傳遞數據 、傳遞數組對象 小程序傳值
(1)使用本地緩存
(2)通過頁面路由
在使用url進行參數傳遞時候,傳遞數據有位元組限制,如果要傳遞對象,需要先把對象通過JSON.stringify轉換成字元串,接收或再通過JSON.parse轉換成對象
demo
template is=”模板名” data=”數據對象” /
A頁面跳轉到B頁面
頁面傳值
微信小程序 頁面傳值詳解
一. 跨頁面傳值.
1 . 用 navigator標籤傳值或 wx.navigator, 比如
這裡將good_id=16 參數傳入detail頁面, 然後detail頁面的 onload方法內接受.
如果需要傳多個參數, 用 鏈接即可
如果要傳 數組, 字典等複雜類型, 要先用 JSON.stringify() 轉成字元串傳遞.
注 : 如果轉化的字元串中 有”?”這個符號, 則只會傳遞”?”以前的字元串, 這個問題我猜想可能是小程序內部的路由處理 對這個”?”敏感吧
好, 這是第一種 依靠跳轉的url帶參數傳值
2 . 用getCurrentPages(); 獲取棧中全部頁面的, 然後把數據寫入相應頁面
這裡可以傳字元串, 也能傳數組等,
這樣就把 address 傳遞並接受了
注 : 這個方法適合 往後面傳值(即已經存在的頁面), 這樣才能在棧中找到並主動寫入數據, 且 一定要在 onshow() 方法中接受, 因為再次返回只執行onshow()方法.
3 . 寫入本地, 跨頁面在取出來 wx.setStorage/wx.getStorage等, 小程序中對寫入本地數據 封裝了很多方法, 各有側重, 這裡就不多說了
4 . 把 數據聲明為全局變數
var detail = getApp().detail; 可在任何頁面獲取
二. 頁內傳值
1 . 設置id的方法標識跳轉後傳遞後的參數
在bindtap定義的點擊方法 swiperTap : function(e) ; 中獲取, var id = e.currentTarget.id;
2 . 設置 data-xxx 的方法來標識要傳遞的值
注 : 這裡 data-index=”{{index}}” 里的 {{index}} 是有效的, 在用wx-for 渲染視圖層時, index 代表點擊的下標. 在bindtap定義的點擊方法 swiperTap : function(e) ; 中獲取, 即 var index = e.currentTarget.dataset.index; 其他的參數取出也如此, var type = e.currentTarget.dataset.type;
3 . form表單和input輸入框
方法1:A頁面跳轉鏈接添加參數,B頁面onLoad 接收
方法2:設置全局變數 globalData,用的少,一般適用於全局共享的一份信息,如用戶open_id等
微信小程序–如何在兩個頁面之間傳值
你看,在這個 出發城市 和 目的地城市 這兩個搜索框點擊了之後都跳轉了頁面,這也就意味著我們在這個工程項目里要新建兩個文件夾。拿 出發城市 為例,原頁面名字叫 productList.wxml ,點擊了出發城市的搜索框之後跳轉到出發城市的頁面,名字叫 departureCity.wxml 。這是兩個不同的文件夾的頁面,這也意味著有兩個js文件,那他們之間怎麼傳數據呢?我們需要把用戶輸入的 城市名字 傳到前一個頁面呀。
這樣我們就把數據保存到了上一頁的 data 中
departureCity.js 中我們這樣寫:
returnAddress 這個方法綁定了 confirm 事件,用戶點擊手機鍵盤的確定按鈕就會跳轉回去
這樣我們的 productList 頁面就拿到了用戶的輸入值,這個值就儲存在 productList.js 的 data 里, this.data.inputValue 這個就是用戶的輸入值
微信小程序小遊戲demo php怎麼接值
這樣才能接到值吧,$value1=$_GET[‘x’];$value2=$_GET[‘y’];
wx.request裡面傳的是x和y你用key1,key2接收真的好嗎
原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/283227.html