日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > php >内容正文

php

php 发送微信请求失败的原因,微信小程序模拟正常 真机服务器请求出错

發布時間:2025/3/21 php 32 豆豆
生活随笔 收集整理的這篇文章主要介紹了 php 发送微信请求失败的原因,微信小程序模拟正常 真机服务器请求出错 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

微信小程序中出現最多的一個問題,就是真機跟本地不同:我簡單列舉一些我發現的原因,給大家參考,大家也可以把自己發現的東西回復給我,給我參考:

本地看不到數據,就先讓本地能看到數據,再看本帖。。。。

1:本地可以看到數據,ios不行,安卓可以;

可能是tsl版本問題不支持1.2導致,部分安卓可以允許tsl低于1.2而正常顯示,而蘋果不行;

可能是證書不受信任

2:本地可以看到數據,ios可以,安卓不行;

ios可以,而安卓不行,可能有如下幾個情況

情況一:使用了不兼容安卓的js,比如es6的Object.assign,部分es6不兼容安卓,即使開啟es6轉es5選項也無用;比如for of 和 forEach 需要換成for in;

情況說明:官方將在本月內的第二個版本更新時對ES6絕大部分API進行兼容

情況三:證書不受信任

情況四:測試機型較老,而tsl版本不支持;tsl需要支持較老版本,包括1.0,1.1;

3:本地可以看到數據,IOS及安卓均不可看到數據:可能是:

情況一:使用了自簽的證書;必須使用第三方受認可的證書

情況二:使用了IP,必須使用備案的域名

情況三:https問題,選項中選擇了不檢驗域名選項,此選項對真機無效;

5:數據未加載成功,需要設定一定的延遲量,在加載數據完成后再渲染頁面;后臺返回數據中有bom非法字符, 前端可以用.trim()方法去一下, 治標的話得讓后臺把所有的文件編碼格式改為utf-8

官方解釋:近日有發現類似問題的都是因為返回的數據是 UTF-8 with BOM(即數據的開頭是一個不可見字符 unicode 65279),Android 平臺沒有自動過濾,導致 JSON.parse 失敗。目前需要開發者自行兼容,下個版本 Android 會過濾此字符。http://www.wxapp-union.com/forum.php?mod=viewthread&tid=1366:

你請求得到的res.data是否有值,如果沒有值就檢查一下ssl的問題。

如果有值但沒有賦值成功,最可能的原因是獲取的是一個字符串而不是一個數組或對象。

你需要做一個格式化, if(typeof res.data === 'string')var data = JSON.parse(res.data.trim());再用data賦值。

這個的原因是php輸出的不會忽略BOM的文件頭,特別使用windows自帶寫字板修改后就會有個\ufeff的字符在文件開始處,這個是不可見但會實際包含的。最后返回的就是字符串而非json數據,你直接對data賦值字符串是無法達到你想要的效果的,所以需要去掉,并重新格式化變成一個數組或對象。

7:真機跟本地樣式不同:可能使用了ios或安卓某一端不兼容的樣式屬性;目前編輯器檢查越來越嚴格,標簽不閉合可能導致一些奇怪的問題;

8:微信版本不足,建議使用最新版本微信進行測試;最新版本查看地址:weixin.qq.com;此情況會有可能會導致uploadfile無效及新增api無效等問題:http://www.wxapp-union.com/portal.php?mod=view&aid=959

9:圖片本地可以看到,但是真機無法顯示;

假如是背景圖,可能是本地資源無法通過 css 獲取

background-image:可以使用網絡圖片,或者 base64,或者使用標簽

假如是網絡圖片,可能是圖片服務器設置了反盜鏈;

10:header設置異常:這個情況多數發生在使用POST時;data 數據說明 最終發送給服務器的數據是 String 類型,如果傳入的 data 不是 String 類型,會被轉換成 String 。轉換規則如下:

對于 header['content-type'] 為 'application/json' 的數據,會對數據進行 JSON 序列化

對于 header['content-type'] 為 'application/x-www-form-urlencoded' 的數據,會將數據轉換成 query string (encodeURIComponent(k)=encodeURIComponent(v)&encodeURIComponent(k)=encodeURIComponent(v)...)

11:網絡請求設置了referer :網絡請求的 referer 是不可以設置的,格式固定為?https://servicewechat.com/{appid}/{version}/page-frame.html,其中 {appid} 為小程序的 appid,{version} 為小程序的版本號,版本號為 0 表示為開發版。

13:超時:request 的默認超時時間和最大超時時間都是 60s

總結

以上是生活随笔為你收集整理的php 发送微信请求失败的原因,微信小程序模拟正常 真机服务器请求出错的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。