uni.showToast({ icon:'none', title: '地址不正确:'+err.errMsg, })中设置icon为error为什么不显示错误
时间: 2024-03-19 08:45:48 浏览: 56
在uni.showToast方法中,icon参数可以设置为none、success、loading三种值。如果设置为error,是无法显示错误图标的,因为error不是icon参数支持的取值,只有none、success和loading才是合法的取值。
如果你想显示错误图标,可以将icon参数设置为success,同时在title中显示错误信息。如下所示:
```
uni.showToast({
icon: 'success',
title: '错误信息:' + err.errMsg
})
```
这样就能够在提示框中同时显示错误图标和错误信息了。
相关问题
请根据错误信息修改一下代码 const uploadVideo = () => { // 提醒用户下载中 uni.showToast({ title: "下载中", icon: "loading" }) // 1 将远程文件下载到小程序的内存中 uni.downloadFile({ url:state.videourl, success: (res) => { debugger if (res.statusCode === 200) { //保存图片到系统相册 uni.saveVideoToPhotosAlbum({ filePath: res.tempFilePath, success: function() { uni.showToast({ title: "保存成功", icon: "none" }); return }, fail: function() { uni.showToast({ title: "保存失败,请稍后重试", icon: "none" }); return } }); } } }) }
这个错误是由于下载视频时服务器返回了不安全的响应头字段 "content-disposition" 导致的,需要在请求头中添加 `responseType: 'arraybuffer'`,以便正确解析服务器的响应头,代码修改如下:
```javascript
const uploadVideo = () => {
// 提醒用户下载中
uni.showToast({
title: "下载中",
icon: "loading"
})
// 1 将远程文件下载到小程序的内存中
uni.downloadFile({
url: state.videourl,
responseType: 'arraybuffer', // 添加此项
success: (res) => {
debugger
if (res.statusCode === 200) {
//保存图片到系统相册
uni.saveVideoToPhotosAlbum({
filePath: res.tempFilePath,
success: function() {
uni.showToast({
title: "保存成功",
icon: "none"
});
return
},
fail: function() {
uni.showToast({
title: "保存失败,请稍后重试",
icon: "none"
});
return
}
});
}
}
})
}
```
这样应该就可以正常下载视频并保存到系统相册了。
uniapp使用了uni-request,H5可以正常走接口,但是手机实机测试并未进入接口,请分析:login() { var that=this; if (!that.user) { uni.showToast({ title: '用户名为空', icon: 'none' }); return; } if (!that.pwd) { uni.showToast({ title: '密码为空', icon: 'none' }); return; } console.log("开始准备数据") // 准备登录用的数据 const userArr={ imageCode:'', uid:"noVerification", username:that.user, password:that.pwd } console.log("数据为:"+userArr.username) // 调用接口传输,并处理数据 ManageLogin(userArr).then(res=>{ console.log("进入了接口"+res.data.code) if(res.data.code==0){ console.log(res.data) uni.showToast({ title: '登录成功!3秒后跳转', icon: 'none' }); setTimeout(function() {uni.navigateTo({ url: '../DataHome/DataHome' });}, 3000); } }) },
根据您提供的代码,无法确定出现问题的具体原因。但是,以下是一些可能导致该问题的原因和建议的解决方案:
1. 手机端无法访问接口:可能是因为手机端无法连接到网络或未正确配置网络代理。可以通过检查手机网络连接和网络代理设置来解决此问题。
2. 跨域问题:可能是因为接口地址与应用程序地址不同。可以通过在服务端配置跨域请求来解决此问题。
3. 接口地址错误:可能是因为接口地址未正确设置或存在语法错误。可以通过检查接口地址是否正确并尝试在浏览器中手动访问接口来解决此问题。
4. 请求参数错误:可能是因为请求参数未正确设置或存在语法错误。可以通过检查请求参数是否正确并尝试在浏览器中手动发送请求来解决此问题。
5. 服务器端错误:可能是因为服务器端代码存在错误或未正确响应请求。可以通过检查服务器端代码并尝试在浏览器中手动发送请求来解决此问题。
总之,您需要对代码和网络进行仔细检查,以确定出现问题的具体原因。如果问题仍然存在,请提供更多细节或上下文信息,以便我能够提供更有用的建议。
阅读全文