微信共享收货地址拉不起来,需要注意的问题,一不小心,可能会浪费很多时间

在实现微信下单购物功能时,遇到新建收货地址的环节。通过Ajax调用微信接口获取收货地址,初期在苹果手机上出现兼容性问题。解决方案是减少Ajax调用次数,将两个Ajax合并为一个,并确保调用频率不要过高,最终成功实现在各平台的正常运行。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

首先,我要在微信里,实现下单购物的功能:
那么,自然会用到收货地址的功能。

使用的场景是这样的。
1.用户选择产品规格
2.用户点击“立即订购”
3.这里出现“提交订单”页。
然后,最顶部就是一个“收货地址”

如果用户之前有输入或从微信获取过,那么就会从数据库中调取出来。
但一开始肯定是没有的。

于是,会出现“新建收货地址“

就是我们现在说的功能。

我一开始实现的代码是:

1)点击”新建收货地址“
—出现新建收货地址页面,同时下方有个”从微信中获取收货地址“
这时,我通过一个Ajax去生成签名,然后通过微信提供的代码,实现拉起收货地址,代码大概如下:

$.ajax({
type: “POST”,
url: “…/Ajax/AddressForWx.ashx”,
contentType: “application/json; charset=utf-8”,
data: JSON.stringify({“surl”:"<%=HttpContext.Current.Request.Url.AbsoluteUri %>"}),
dataType: “json”,
beforeSend: function () {
btn.text(“调用中…”);
},
success: function (data) {//运行中,这里没有执行
if (data === null || data === undefined) {
alert(“错误”, “错误!”, “error”);
return;
}

                    //如果调用成功,则返回微信收货地址JSON对象。
                    //1.处理返回的配置JSON对象
                    //2.把JSON对象数据,通过ajax再入库
                    //3.把JSON对象数据,显示在订单提交页上面
                    //public string appId { get; set; }
                    //public string nonceStr { get; set; }
                    //public string timestamp { get; set; }
                    //public string signature { get; set; }
                    //public bool Issuccess { get; set; }
                  
                    if (data.Issuccess)
                    {

                        
                      




                                //$("#resJson").val(JSON.stringify(res));




                                        //下一步ajax 
                        //2.把JSON对象数据,通过ajax再入库,注意Openid也要入库。
                        //1)创建一个JSON对象WxJson,包括:
                        //openid,微信地址信息
                        //2)格式化JSON对象,用于:
                        //a.入库使用,b.显示在订单提交页

                        //var varjson={"nationalCode":"440307","telNumber":"18138854673","userName":"陈先生","errMsg":"openAddress:ok","postalCode":"518116","provinceName":"广东省","cityName":"深圳市","countryName":"龙岗区","detailInfo":"雅宝路1 星河WORLD TOWER A"};
                        //添加修改属性
                       
                     
                       
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值