uni-app学习笔记-请求接口跨域问题(八)

简介: uni-app学习笔记-请求接口跨域问题(八)

需求:发起一个请求,请求到服务器上的图片,显示在前端界面


写代码:直接请求服务器接口的时候

methods: {
             getList() {
                uni.downloadFile({
                    url: 'http://www.intmote.com/star.png',
                    success: (res) => {
                       console.log(res);
                        this.imageSrc = res.tempFilePath;
                        uni.hideLoading();
                    },
                    fail: (err) => {
                        console.log('downloadFile fail, err is:', err)
                    }
                })
            }
        }

会发现控制台报错,遇到了跨域的问题了


那么前端该怎么去解决跨域问题?

想到之前写vue项目的时候,遇到过一次


uniapp是基于vue的,那么解决办法应该也是差不多的

解决办法:

1:打开manifest.json文件,选择源码视图,在里面添加proxy代理


  "devServer": {
                "proxy": {
                    "/api": {                    
                        "target":"http://www.intmote.com",
                        "changeOrigin": true,//是否跨域
                        "secure": false,// 设置支持https协议的代理
                         "pathRewrite":{"^/api":"/"}
                    }
                }
            },

2:回到当前页面,修改请求路径

 uni.downloadFile({
                    url: '/api/star.png',
                    success: (res) => {
                       console.log(res);
                        this.imageSrc = res.tempFilePath;
                        uni.hideLoading();
                    },
                    fail: (err) => {
                        console.log('downloadFile fail, err is:', err)
                    }
                })

3:当前页面完整代码(仅供参考)

<template>
    <view>     
        <view class="uni-padding-wrap uni-common-mt">
            <image class="img" v-if="imageSrc" :src="imageSrc" mode="center" />
        </view>
    </view>
</template>
<script>
    export default {
        data() {
            return {              
                imageSrc: ''
            }
        },
        onLoad() {
                   this.getList();
               },
        methods: {
             getList() {
                uni.downloadFile({
                    url: '/api/star.png',
                    success: (res) => {
                       console.log(res);
                        this.imageSrc = res.tempFilePath;
                        uni.hideLoading();
                    },
                    fail: (err) => {
                        console.log('downloadFile fail, err is:', err)
                    }
                })
            }
        }
    }
</script>
<style>
.img {
    width: 500upx;
    height: 500upx;
    margin: 0 95upx;
}
</style>

4:运行,跨域问题解决,图片就可以显示了


相关文章
|
1月前
|
前端开发 UED 开发者
uni-app:去除导航栏&跨域的问题&blobe查看图片&v-deep&页面操作 (五)
本文介绍了几个前端开发技巧:1) 如何通过设置 `navigationStyle` 为 `custom` 去除顶部导航;2) 解决跨域问题的方法,包括使用 `dotenv` 加载全局变量和配置 `devServer` 的代理;3) 使用 Blob 和 FileReader 查看图片;4) 利用 `v-deep` 深度作用选择器修改样式;5) 修改页面左上角返回按钮的行为。
|
1月前
|
移动开发 前端开发 安全
uni-app跨域调试你学会了没
uni-app跨域调试你学会了没
46 0
|
3月前
|
Go 开发者
【应用服务 App Service】App Service发生错误请求时,如何查看IIS Freb日志,从中得知错误所发生的模块,请求中所携带的Header信息
【应用服务 App Service】App Service发生错误请求时,如何查看IIS Freb日志,从中得知错误所发生的模块,请求中所携带的Header信息
|
3月前
|
网络协议 安全 前端开发
【应用服务 App Service】Azure 应用服务测试网络访问其他域名及请求超时限制(4分钟 ≈ 230秒)
【应用服务 App Service】Azure 应用服务测试网络访问其他域名及请求超时限制(4分钟 ≈ 230秒)
|
3月前
|
API C#
【Azure App Service】验证App Service接受HTTP 2.0请求
【Azure App Service】验证App Service接受HTTP 2.0请求
|
3月前
|
API 持续交付 数据安全/隐私保护
【Azure ACR+App Service】ACR WebHook请求App Service时遇见 401 Unauthorized
【Azure ACR+App Service】ACR WebHook请求App Service时遇见 401 Unauthorized
|
3月前
|
API 网络架构 开发者
【Azure 应用服务】App Service多个部署槽(Slot)之间,设置Traffic百分比后,如何来判断请求是由那一个槽(Slot)来进行处理呢?
【Azure 应用服务】App Service多个部署槽(Slot)之间,设置Traffic百分比后,如何来判断请求是由那一个槽(Slot)来进行处理呢?
|
3月前
【Azure 应用服务】记一次 App Service 部分请求一直返回 401 "No Authority" 的情况
【Azure 应用服务】记一次 App Service 部分请求一直返回 401 "No Authority" 的情况
|
3月前
|
Web App开发 安全 JavaScript
【Azure 应用服务】App Service 通过配置web.config来添加请求返回的响应头(Response Header)
【Azure 应用服务】App Service 通过配置web.config来添加请求返回的响应头(Response Header)
|
3月前
|
网络协议 Linux Shell
【Azure 应用服务】App Service For Linux 中安装paping, 用于验证从App Service向外请求的网络连通性
【Azure 应用服务】App Service For Linux 中安装paping, 用于验证从App Service向外请求的网络连通性

热门文章

最新文章