【微信小程序】合法域名校验出错,不在以下合法域名列表中 解决方法

微信小程序开发过程中,在请求数据时,出现如下问题:

合法域名校验出错

这是因为在小程序中发起了wx.request请求,但是请求的域名没有在微信公众平台后台设置。

解决方法:

一、 可以在小程序中设置不校验域名。

这里写图片描述

二、 管理员将需要使用的域名添加到小程序后台

1. 地址:http://mp.weixin.qq.com 
2. 将要请求的域名设置为请求合法域名 
注:request 合法域名可以填写多个,如果已经有其它的合域名了,新增一个就行了

这里写图片描述

    注:request安全域名保存并提交后,微信会有一段时间的缓存,大概10多分钟后,request合法域名生效
微信小程序中使用 UniApp 时,`onChunkReceived` 事件用于处理流式请求返回的数据片段,但有时该事件可能未被正确触发,导致无法实时接收和处理数据。以下是可能导致 `onChunkReceived` 事件未触发的原因及相应的解决方法: ### 1. 确保启用分块传输模式 在使用 `uni.request` 时,必须将 `enableChunked` 设置为 `true` 才能启用分块传输模式,从而触发 `onChunkReceived` 事件。检查请求配置中是否遗漏了该参数或设置错误。 ```javascript uni.request({ url: 'https://example.com/stream', enableChunked: true, success: (res) => { console.log('请求成功', res); }, onChunkReceived: (chunk) => { console.log('接收到数据块', chunk); } }); ``` ### 2. 检查服务器是否支持分块响应 服务器端必须支持并正确配置了分块传输编码(Chunked Transfer Encoding),否则即使客户端启用了 `enableChunked`,也不会触发 `onChunkReceived` 事件。可以通过工具如 Postman 或 curl 检查服务器响应头是否包含 `Transfer-Encoding: chunked`。 ### 3. 小程序平台限制 部分小程序平台对网络请求有特定限制,尤其是在开发工具与真机调试行为不一致的情况下。确保在微信开发者工具中已开启“不校验合法域名、HTTPS 证书”选项进行测试。此外,某些平台可能不完全支持流式请求,需查阅平台文档确认支持情况。 ### 4. 使用 `onLoad` 和 `onError` 调试 如果 `onChunkReceived` 事件未触发,可先检查 `onLoad` 和 `onError` 回调是否被调用,确认请求是否正常完成或发生错误。这有助于判断问题是否出在网络请求本身。 ```javascript uni.request({ url: 'https://example.com/stream', enableChunked: true, onLoad: (res) => { console.log('请求完成', res); }, onError: (err) => { console.error('请求出错', err); }, onChunkReceived: (chunk) => { console.log('接收到数据块', chunk); } }); ``` ### 5. 使用 WebSocket 替代方案 若 `uni.request` 的流式支持受限,可考虑使用 `uni.connectSocket` 建立 WebSocket 连接进行数据传输。WebSocket 提供全双工通信,适合需要持续接收数据的场景。 ```javascript const socket = uni.connectSocket({ url: 'wss://example.com/socket', success: () => { console.log('WebSocket 连接建立成功'); } }); socket.onMessage(res => { console.log('接收到消息', res.data); }); ``` ### 6. 更新 UniApp 和运行环境 确保使用的 UniApp 版本和微信开发者工具为最新版本,部分旧版本可能存在流式请求支持不完善的问题。定期更新可获得更好的兼容性和功能支持。 ---
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值