PAY頁(yè)面往 js_api_call.php 傳值 獲取不到的問題
創(chuàng)新互聯(lián)公司專注為客戶提供全方位的互聯(lián)網(wǎng)綜合服務(wù),包含不限于網(wǎng)站建設(shè)、網(wǎng)站制作、靜安網(wǎng)絡(luò)推廣、微信平臺(tái)小程序開發(fā)、靜安網(wǎng)絡(luò)營(yíng)銷、靜安企業(yè)策劃、靜安品牌公關(guān)、搜索引擎seo、人物專訪、企業(yè)宣傳片、企業(yè)代運(yùn)營(yíng)等,從售前售中售后,我們都將竭誠(chéng)為您服務(wù),您的肯定,是我們最大的嘉獎(jiǎng);創(chuàng)新互聯(lián)公司為所有大學(xué)生創(chuàng)業(yè)者提供靜安建站搭建服務(wù),24小時(shí)服務(wù)熱線:13518219792,官方網(wǎng)址:jinyejixie.com
echo 是可以echo出來(lái)的 但是
這里不寫死就會(huì)報(bào)錯(cuò) $key0$
?php
/**
* JS_API支付demo
* ====================================================
* 在微信瀏覽器里面打開H5網(wǎng)頁(yè)中執(zhí)行JS調(diào)起支付。接口輸入輸出數(shù)據(jù)格式為JSON。
* 成功調(diào)起支付需要三個(gè)步驟:
* 步驟1:網(wǎng)頁(yè)授權(quán)獲取用戶openid
* 步驟2:使用統(tǒng)一支付接口,獲取prepay_id
* 步驟3:使用jsapi調(diào)起支付
*/
//獲取信息
@$name="支付測(cè)試-包包";
@$price=0.01*100;
@$hyid=$_GET['hyid'];
@$out_trade_no=$_GET['num'];//訂單號(hào)
include_once("../WxPayPubHelper/WxPayPubHelper.php");
//使用jsapi接口
$jsApi = new JsApi_pub();
//=========步驟1:網(wǎng)頁(yè)授權(quán)獲取用戶openid============
//通過code獲得openid
if (!isset($_GET['code']))
{
//觸發(fā)微信返回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:使用統(tǒng)一支付接口,獲取prepay_id============
//使用統(tǒng)一支付接口
$unifiedOrder = new UnifiedOrder_pub();
//設(shè)置統(tǒng)一支付接口參數(shù)
//設(shè)置必填參數(shù)
//appid已填,商戶無(wú)需重復(fù)填寫
//mch_id已填,商戶無(wú)需重復(fù)填寫
//noncestr已填,商戶無(wú)需重復(fù)填寫
//spbill_create_ip已填,商戶無(wú)需重復(fù)填寫
//sign已填,商戶無(wú)需重復(fù)填寫
$unifiedOrder-setParameter("openid","$openid");//商品描述
$unifiedOrder-setParameter("body","$name");//商品描述
//自定義訂單號(hào),此處僅作舉例
$timeStamp = time();
$out_trade_no = WxPayConf_pub::APPID."$timeStamp";
$unifiedOrder-setParameter("out_trade_no","$out_trade_no");//商戶訂單號(hào)
$unifiedOrder-setParameter("total_fee","$price");//總金額
$unifiedOrder-setParameter("notify_url","");//通知地址
$unifiedOrder-setParameter("trade_type","JSAPI");//交易類型
//非必填參數(shù),商戶可根據(jù)實(shí)際情況選填
//$unifiedOrder-setParameter("sub_mch_id","XXXX");//子商戶號(hào)
//$unifiedOrder-setParameter("device_info","XXXX");//設(shè)備號(hào)
//$unifiedOrder-setParameter("attach","XXXX");//附加數(shù)據(jù)
//$unifiedOrder-setParameter("time_start","XXXX");//交易起始時(shí)間
//$unifiedOrder-setParameter("time_expire","XXXX");//交易結(jié)束時(shí)間
//$unifiedOrder-setParameter("goods_tag","XXXX");//商品標(biāo)記
$unifiedOrder-setParameter("attach","2");//會(huì)員ID
$prepay_id = $unifiedOrder-getPrepayId();
//=========步驟3:使用jsapi調(diào)起支付============
$jsApi-setPrepayId($prepay_id);
$jsApiParameters = $jsApi-getParameters();
//echo $jsApiParameters;
?
html
head
meta charset="utf-8"
title支付頁(yè)面/title
script type="text/javascript"
//調(diào)用微信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
1、新建一個(gè)project小程序項(xiàng)目。
2、在project項(xiàng)目?jī)?nèi),新建一個(gè)index模塊來(lái)從數(shù)據(jù)庫(kù)獲得數(shù)據(jù),并將數(shù)據(jù)輸出在index.wxml頁(yè)面。
3、在index模塊中index.js頁(yè)面,在onLoad中使用wx.request方法向服務(wù)端文件請(qǐng)求數(shù)據(jù)。url為請(qǐng)求數(shù)據(jù)的地址。data為傳輸?shù)膮?shù),這里設(shè)置為空。method為傳遞參數(shù)的方式,header用于設(shè)置請(qǐng)求的數(shù)據(jù)類型,success是成功獲得數(shù)據(jù)后的操作。
4、在index.wxml頁(yè)面,使用for循環(huán)遍歷輸出index.js傳遞過來(lái)的數(shù)據(jù)data,通過item將data數(shù)據(jù)輸出在頁(yè)面。
5、在服務(wù)端新建一個(gè)api.php頁(yè)面來(lái)接收微信小程序的數(shù)據(jù)請(qǐng)求。
6、最后編譯微信小程序,查看從數(shù)據(jù)表type獲得數(shù)據(jù)內(nèi)容,成功從數(shù)據(jù)庫(kù)讀取數(shù)據(jù)并輸出在頁(yè)面上
這種情況發(fā)生在以UTF-8編碼格式傳輸數(shù)據(jù)的時(shí)候,這開頭的三個(gè)字節(jié)叫做BOM(Byte Order Mark,字節(jié)順序標(biāo)記),小程序接收到php端返回的數(shù)據(jù)后,把開頭的三個(gè)字節(jié)去掉即可。
更徹底的解決辦法是把php文件保存為?不帶BOM的UTF-8?文件,這樣返回的數(shù)據(jù)就不帶BOM了
1、看接口能不能正常訪問,返回值小程序是否能接到
2,如果都能,看看傳值方式post或者get
分享文章:php小程序數(shù)據(jù)傳輸 php小程序數(shù)據(jù)傳輸?shù)叫率謾C(jī)
路徑分享:http://jinyejixie.com/article28/dosgscp.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供關(guān)鍵詞優(yōu)化、網(wǎng)站排名、域名注冊(cè)、網(wǎng)站策劃、網(wǎng)頁(yè)設(shè)計(jì)公司、App開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)