用uniapp 写APP、怎么接口请求错误了,在H5上面是能请求成功的
const pre = "Bearer ";const request = (options = {}) => { let token = uni.getStorageSync("token"); options.header["Accept"] = "application/json, text/plain, */*"; options.header["Authori-zation"] = pre + uni.getStorageSync("token"); return new Promise((resolve, reject) => { //获取接口的全连接 uni.request({ url: options.url, //仅为示例,并非真实接口地址。 method: options.type || "GET", data: options.data || {}, header: options.header || {}, success: (res) => { const { code, result, other, msg, status } = res.data; if (status == 410000 || status == 410001 || status == 410002) { uni.clearStorage(); resolve({ msg, status, result }); return } if (status !== 200 && options.loading) { uni.showToast({ title: msg, icon: "error", }); resolve({ msg, status, result }); } else { resolve({ result, other, msg, status }); } }, complete: (e) => { if (options.loading) { uni.hideLoading(); } }, }); });};const post = ( url, data, loading = true, options = { header: {}, }) => { options.type = "POST"; options.data = data; options.url = url; options["loading"] = loading; options.header["content-type"] = "application/json"; return request(options);};export { post };
在手机模拟器上面报错的信息是:
{"errMsg":"request:fail abort statusCode:-1 Expected URL scheme 'http' or 'https' but was 'file'"}
请求的URL是什么呢?看报错信息是发起的是 file
协议?
还是说你请求的地址没有拼写完全?把你的 baseUrl
设置为完整的地址呢?比如说 https://xxx.xxx.xxx.xx/api
这样。
可能你H5可以是你本地有启动HTTP服务,所以你省略了请求地址前的域名信息?浏览器是会按照当前的域名自动拼接的,APP应该不会拼接。
你的问题看起来是在使用uniapp进行APP和H5的接口请求时遇到了问题。你在手机模拟器上看到的错误信息表示,你正在尝试访问一个使用'file'协议的URL,但是你的请求函数预期的URL应该使用'http'或'https'协议。
这可能是因为你的请求URL是错误的,或者你的服务器没有配置正确。你需要确保你的请求URL是有效的,并且使用'http'或'https'协议。如果你正在尝试访问本地文件,你可能需要使用'file://'协议,而不是'http://'或'https://'。
此外,你还需要确保你的服务器配置正确,可以处理来自uniapp的请求。如果你的服务器没有正确配置,那么它可能无法处理来自uniapp的请求。
在你的代码中,你需要检查options.url
的值,确保它是一个有效的URL,并且使用正确的协议('http'或'https')。如果options.url
的值是从某个地方获取的,你可能需要检查那个地方的代码,确保它返回正确的URL。
如果你的问题仍然存在,那么你可能需要提供更多的信息,比如你的服务器配置,或者你的options.url
的值是从哪里获取的。这样我才能更好地帮助你解决问题。
我想在app上实现图片、word、ppt、excel、txt等文档的预览,不要下载预览,有没有什么好的方式可以在线预览的,但是要能阻止文件下载,和手机截屏功能,有人实现过么?
uniapp封装H5发布到服务器后,公众号打开链接是白屏,有遇到这种情况吗? 刷新一下或者清理微信缓存才能正常显示出来,但一般客户不会这么去做。 尝试过web配置由history改成hash,还是不行!
Win32环境下动态链接库(DLL)编程原理 比较大的应用程序都由很多模块组成,这些模块分别完成相对独立的功能,它们彼此协作来完成整个软件系统的工作。其中可能存在一些模块的功能较为通用,在构造其它软件系统时仍会被使用。在构造软件系统时,如果将所有模块的源代码都静态编译到整个应用程序EXE文件中,会产生一些问题:一个缺点是增加了应用程序的大小,它会占用更多的磁盘空间,程序运行时也会消耗较大的内存空间
uniapp 页面获取 webview 提交的参数,且 webview 的 html 是使用 uniapp 打包的,点击 webview 页面提交对应的 id。 导入了 uni-webview-js 使用可以成功接收到数据,但是不知道如何将数据返回。
接口封装和代码整理 使用 OpenSBI 提供的服务 OpenSBI 实际上不仅起到了 bootloader 的作用,还为我们提供了一些底层系统服务供我们在编写内核时使用,以简化内核实现并提高内核跨硬件细节的能力。这层底层系统服务接口称为 SBI(Supervisor Binary Interface),是 S Mode 的 OS 和 M Mode 执行环境之间的标准接口约定。 参考 OpenSB
使用GET请求例如: 只要有一个get请求参数为:token:true, 后面的所有请求都会自动带上authorization和令牌访问,这是怎么回事? 即使传参不带token,请求链接上也会带上authorization和令牌访问,这是哪里出问题了吗?