微信 wx.config html页面 动态配置参数问题

jing_zhang00 2016-05-29 07:36:12
通过aspx页面 把所有的参数在page_load 初始化事件中获取到 然后传递到前段 这么做 可以分享成功
但是我的html页面 不管是通过 $(function () { }) 取得参数 还是通过$(document).ready(){} 给wx.config配置 分享后都无法调用
应该是wx.config参数在页面一开始就必须给值
用HTML页面 有什么好的办法吗
贴上代码

aspx页面的
var show_url = "http://guokekaola.com";
var pic_url = "http://guokekaola.com/images/kaola.jpg";
wx.config({
debug: false,
appId: "<%=AppID %>",
timestamp: "<%=timestamp %>",
nonceStr: "<%=nonceStr %>",
signature: "<%=Signature %>",
jsApiList: [
// 所有要调用的 API 都要加到这个列表中
'onMenuShareTimeline',
'onMenuShareAppMessage'

]
});
wx.ready(function () {
// 在这里调用 API
//分享到朋友圈
//alert(show_url);

wx.onMenuShareTimeline({
title: '魂淡 这就是个测试啊 测试!', // 分享标题
link: show_url, // 分享链接
imgUrl: pic_url, // 分享图标
success: function () {
// 用户确认分享后执行的回调函数
alert('tttt2');
},
cancel: function () {
// 用户取消分享后执行的回调函数
}
});
//分享给朋友
wx.onMenuShareAppMessage({
title: '我中奖了!买手机,多亏去了联通!', // 分享标题
desc: '快来和我一起参与,赢取大奖!惊喜不断!', // 分享描述
link: show_url, // 分享链接
imgUrl: pic_url, // 分享图标
type: 'link', // 分享类型,music、video或link,不填默认为link
dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
success: function () {
// 用户确认分享后执行的回调函数
alert('分享到朋友');
},
cancel: function () {
// 用户取消分享后执行的回调函数
}
});
});

html页面的

var show_url = "http://guokekaola.com";
var pic_url = "http://guokekaola.com/images/kaola.jpg";
var timesta = "";
var nonce = "";
var signa = "";
$(function () {

});
$(document).ready()
{
$.ajax({
type: "POST",
dataType: "html",
async: false,
url: "/WX/share",
data: "",
complete: function () { },
success: function (data) {
var json = eval("(" + data + ")");//强制转换
timesta = json.timestamp;
nonce = json.noncestr;
signa = json.signature
alert(nonce);
}
});
}

wx.config({
debug: false,
appId: "wx137a75e58eb8f2a7",
timestamp: timesta,
nonceStr: nonce,
signature: signa,
jsApiList: [
// 所有要调用的 API 都要加到这个列表中
'onMenuShareTimeline',
'onMenuShareAppMessage'
]
});
wx.ready(function () {
// 在这里调用 API
//分享到朋友圈
wx.onMenuShareTimeline({
title: '魂淡 这就是个测试啊 测试!', // 分享标题
link: show_url, // 分享链接
imgUrl: pic_url, // 分享图标
success: function () {
// 用户确认分享后执行的回调函数
alert('tttt2');
},
cancel: function () {
// 用户取消分享后执行的回调函数
}
});
//分享给朋友
wx.onMenuShareAppMessage({
title: '我中奖了!买手机,多亏去了联通!', // 分享标题
desc: '快来和我一起参与,赢取大奖!惊喜不断!', // 分享描述
link: show_url, // 分享链接
imgUrl: pic_url, // 分享图标
type: 'link', // 分享类型,music、video或link,不填默认为link
dataUrl: '', // 如果type是music或video,则要提供数据链接,默认为空
success: function () {
// 用户确认分享后执行的回调函数
alert('分享到朋友');
},
cancel: function () {
// 用户取消分享后执行的回调函数
}
});
});



...全文
1982 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
dreamflymgp 2017-07-04
  • 打赏
  • 举报
回复
请问楼主解决了html给wx.config配置 的问题了吗
jing_zhang00 2016-05-30
  • 打赏
  • 举报
回复
引用 1 楼 sp1234 的回复:
参数可以通过访问你的一个 ashx 来获得,例如通过 jQuery.get("wx.config.ashx") 方式返回拥有那4个属性的一个json 对象。 其 appId, timestamp,nonceStr 决定了最后的签名 signature ,同时服务器端的密码等等不暴露给客户端。
嗯 我就是通过ashx获取了参数 然后传值给html 可是这样传递的值 在赋值给confing配置 无法抓取到分享时间
  • 打赏
  • 举报
回复
引用 楼主 jing_zhang00 的回复:
但是我的html页面 不管是通过 $(function () { }) 取得参数 还是通过$(document).ready(){} 给wx.config配置 分享后都无法调用
静态页面只有在最初保存页面文件时才写内容(例如你们的 html 页面可能是3个月之前写的)。而 aspx 是动态页面,每一次访问都可能改变 html 内容。 静态页面就相当于你独立的前端应用,它的数据都应该在浏览器端动态地到数据服务器上去获取。盲目纠结 asp.net 概念,其实是不应该的。
  • 打赏
  • 举报
回复
参数可以通过访问你的一个 ashx 来获得,例如通过 jQuery.get("wx.config.ashx") 方式返回拥有那4个属性的一个json 对象。 其 appId, timestamp,nonceStr 决定了最后的签名 signature ,同时服务器端的密码等等不暴露给客户端。

111,092

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧