手机版

微信小程序开发问答《六十》错误状态码的获取amp(如401);日期选择器的开始

时间:2021-12-12 来源:互联网 编辑:宝哥软件园 浏览:

1.微信小程序错误状态码的获取(如401)当小程序请求后端接口时,可能会返回状态码:

00(请求成功)401(请求需要用户验证)404(请求失败)

.

在wx.request()的fail:函数(数据)中获得小于4 * *的值,需要成功获得5 * *的状态码:

Success :函数(数据){ console . log(data . status code)} Fail回调一般来自url格式、参数类型检查、网络连接、域名解析、响应编码等。

2.日期选择器的开始时间限制

picker class=' information-item-text information-item-right information-item-picker ' mode=' date ' value=' { {生日} } ' start=' 1971-01-01 ' end=' 2017-12-31 ' bind change=' bindDateChange ' disabled=' {!可编辑} } ' view class=' information-item-picker-text“{胎记}}/view

/picker

小程序日期选择器的关键问题是开始(开始时间),有一个极限值。

模拟器上没有限制值,但如果在手机上显示,如果早于限制值,会显示上一次设置的有效起始值,如果没有设置,会以结束的前三年作为起始值。

不知道自己的操作或者设置有没有问题,偏偏遇到了这个问题。本来模拟器上一切正常,但是手机上的开始时间错了。然后百度搜索了一下。因此,像picker这样的一堆教程,一个小程序组件,都是无用的。只有我吗?我真的不相信。也许这是小程序手机适配的BUG?为了用户体验,我们只能试着找出这个极限值,目前发现是在1971年。

测试:Redmi 3

3.通过微信小程序平台提供的界面访问日常数据日期格式出错?

https://api.weixin.qq.com/dat.POST内容示例:

{'begin_date' : '20170313 ',' end_date' : '20170313'}

CloseableHttpClient httpClient=createSSLClientDefault();httpset httpset=new httpset();新urlhttpset . setentity(new UrlEncodedFormEntity(nvps));CloseableHttpResponse响应=httpclient . execute(httpset);HttpEntity entity=response . getentity();if(实体!=null) {字符串结果=EntityUtils.toString(实体,‘UTF-8’);system . out . println(' Response content : '结果);返回结果;} 微信小程序开发问答《六十》错误状态码(例如:401)的获取& 日期选择器的起始(图1)

ong.com/uploads/allimg/180423/11131K445-1.png" />

Response content: {"errcode":61500,"errmsg":"date format error hint: [Dy5YZa0787e541]"}

答:你看,

{"begin_date" : "20170313","end_date" : "20170313"}

这是一个json的传参格式,而你用的却是urlencoded方式

httpPost.setEntity(new StringEntity(params.toString(), "UTF-8"));

4、bindtap事件与bindtouchstart和bindtouchend事件冲突

<view class="container" catchtouchstart="handleTouchStart" catchtouchend="handleTouchEnd">    <scroll-view scroll-y class="wrapper">        <view class="list-item" wx:for="{{list}}" wx:key="{{item.id}}" data-id="{{item.id}}" catchtap="handletap">            <image class="image" src="{{item.img}}"></image>            <view class="right">                <text class="title">{{item.title}}</text>                <text class="intro">{{item.intro}}</text>                <text class="time">{{item.time.date}}</text>            </view>        </view>    </scroll-view></view>

代码如上,当点击.list-item时并没有触发bindtap事件,而是触发了catchtouchstart,catchtouchend

微信小程序开发问答《六十》错误状态码(例如:401)的获取&amp; 日期选择器的起始(图3)

把catchtouchstart,catchtouchend事件移除后,能正常捕捉bindtap

微信小程序开发问答《六十》错误状态码(例如:401)的获取&amp; 日期选择器的起始(图4)

请问有什么好的方法解决,catchtouchstart,catchtouchend事件不能移除,另有他用。

答:

tap,touchstart,touchend的事件触发顺序为start→end→tap所以问题在于catchtouchstart,catchtouchend后事件被阻止了,tap捕获不到。改为bindtouchstart,bindtouchend后问题得以解决。

版权声明:微信小程序开发问答《六十》错误状态码的获取amp(如401);日期选择器的开始是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。