请求的接口信息: "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250112/84f3cd1ac0a11ea6c8f3b396f9ca3c2d.png) 没有返回东西: "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250112/c819d4f886fa55961a9bad4861c44060.png) 控制台报错: "image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/images/20250112/068fbd186f9f50585d7d15da43ebe707.png) 前端代码: import axios from 'axios' import { baseURL, taskURL } from './resource' // 3.ES6 Promise 封装方式 export function request(options) { return new Promise((resolve, reject) => { // 1.创建 axios 的实例对象 const instance = axios.create({ baseURL: baseURL, // method:"post", timeout: 300000, withCredentials: true // timeout: 50000 }) // alert( baseURL) // 3.过滤器(拦截器) instance.interceptors.response.use(res => { return res.data }, err => { console.log('来到了response拦截failure中'); console.log('err', err); if (err && err.response) { switch (err.response.status) { case 400: err.message = '请求错误' break case 401: err.message = '未授权的访问' break } } return err }) // 2.通过实例发送网络请求 instance(options).then(res => { resolve(res) }).catch(err => { reject(err) }) }) } 求大家帮个忙看看到底是哪里问题,要怎么修改,谢谢
vue 3.0 +axios 跨域情况下无法携带cookie cooKie 是本地写入缓存的 axios已设置withCredentials=true; const $axios = axios.create({ baseURL: url, withCredentials: true, crossDomain: true }) // 发起跨域请求 $axios.get('/picture/upload', { headers: { 'Content-Type': 'application/json' } }).then(response => { console.log(response.data) }).catch(error => { console.error(error) }) 后端也加了 access-control-allow-credentials: true access-control-allow-origin: http://localhost:8080 发起请求时 查看请求头还是无法携带cookie
axios响应数据类型怎么定义? 相关代码 type TResponse = ? // 应该怎么定义 service.interceptors.response.use((response : TResponse) => { const res = response.data // 这个结构是固定的 {code:number;msg:string;data:T} if (res.code !== 0) { return Promise.reject(new Error(res.message || "Error")) } else { return res } }, (error) => { return Promise.reject(error) } ) // 这里code会报错 TS2339: Property code does not exist on type AxiosResponse getTableData(fileData).then(({ code, data }) => { if (code !== 0) return })
当前有个很纠结的问题,我想封装一个axios请求工具,想作为一个独立工具使用,但如果把loading组件(很多第三方UI组件库都有提供)封进去,这样就会破坏这个axios工具的独立性,因为你需要依赖某一个第三方UI组件库提供的loading组件,如果axios请求工具不提供loading功能,感觉有点封的不完整,请问大神们,你们到底如何解决的呢?麻烦指点下小白的我,谢谢
如何通过浏览器访问ipv6网络,axios 是否支持 ipv6 网络 希望使用axios访问ipv6请求
这是我的axios依赖: "axios": "^1.4.0", 这是我的代码 const source = axios.CancelToken.source(); data = { ...data, ...JSON.parse(localStorage.getItem('_TT_token')), cancelToken: source.token } const xhr = axios.post(url,data) // 如果xhrMap中存在该url请求,则执行取消操作 if (xhrMap[url]) { source.cancel('Operation canceled by the user.') } xhrMap[url] = xhr xhr.then( (response) => { resolve(response.data); }, (err) => { if (axios.isCancel(err)) { console.log('Request canceled:', err.message); } else { reject(err); } } ); 这段代码有什么问题么?请求并不会取消
axios 取消上一次重复请求如何封装?
nuxt.config.ts 中的 ssr 也是 true 自己写的后台接口 页面显是正常的,但是右键, 查看源代码后里面没有请求回来的数据呀! 这能 SEO ? 是哪里还需要配置下吗? nuxt.config.ts代码: export default defineNuxtConfig({ app: { head: { charset: 'utf-8', viewport: 'width=device-width, initial-scale=1', } }, devtools: {enabled: false}, //关闭遥测数据 telemetry: false, modules: ['@pinia/nuxt'], css: [ "@/assets/style/style.css" //配置使用的样式 ], ssr:true, }) 页面代码: 0"> {{row.title}} {{dateDisplay(row.created_at)}} 默认分类 {{row.views}} 阅读 评论 标签: {{tag}} 没有了 没有了 import {onMounted,ref} from "vue"; import {getArticleDetail} from "~/api/article"; import type {ApiResponse,ArticleItem} from "~/types/intreface"; import {dateDisplay} from "~/utils/date"; import {_length} from "~/utils"; import { useRoute } from '#app'; const route = useRoute(); const params = route.params; const id = ref(params.id); const loading = ref(false); const row = ref(); onMounted(async()=>{ await fetchData(); }) const fetchData = async()=>{ try { loading.value = true; const data:ApiResponse = await getArticleDetail({id:id.value}); if(data.code!==0){ return Promise.reject(data.message); } row.value = data.data as ArticleItem; if(_length(row.value.url)===0){ row.value.url = '/archives/'+row.value.slug; } useHead({ title: row.value.title, meta: [ { name: 'description', content: '我的神奇网站。' } ], bodyAttrs: { class: 'test' }, script: [ { innerHTML: 'console.log(\'Hello world\')' } ] }) }catch (e) { loading.value = false; } }
前端提交数据接口为:"/prod-api/saveRainRcd?cityname=bh&begintime=20240201&endtime=20240202&savestr={[{"cityname":"bh","staName":"北海站","staNo":"50001", "date":"20240201", "20-20rain":"20.78"},{"cityname":"bh", "staName":"合浦站", "staNo":"50002", "date":"20240201", "20-20rain":"12.20"},{"cityname":"bh","staName":"北海站","staNo":"50001", "date":"20240202", "20-20rain":"6.06"},{"cityname":"bh", "staName":"合浦站", "staNo":"50002", "date":"20240202", "20-20rain":"20.88"}]}" 同一配置,在window服务器设置nginx请求头增加到1m最大到5m 解决了报错414问题。但在虚拟机linux同样配置情况下,接口拼接参数数据中savestr为查询到的数据修改全部提交。如转化为数组超过15条数据,点击修改按钮提交就会马上报错Net error, 其中nginx.conf配置如下 worker_processes 1; events { worker_connections 1024; } http { include mime.types; default_type application/octet-stream; sendfile on; keepalive_timeout 65; client_max_body_size 100m; client_header_buffer_size 1024k;# 请求行+请求头的标准大小为1m large_client_header_buffers 5 1024k; # 请求行+请求头的最大大小为5m server { listen 8111; server_name localhost; charset utf-8; location / { root \\html\\dist; try_files $uri $uri/ /index.html; index index.html index.htm; } location /prod-api/{ proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:6688/; } error_page 500 502 503 504 /50x.html; location = /50x.html { root html; } } } 在虚拟机linux系统配置情况一样下,若savestr中的数据在8条或12条 接口提交参数为浏览器Network(网络)标头为:"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20240930/757607813753f1d3036d0fed6af5ebef.png) 接口参数拼接情况为:"/prod-api/cityname=yl&begintime=20220607&endtime=20220609&savestr={[{"cityname":"yl","staName":"北流","staNo":"59001","date":"20220608","20-20rain":"28.2"},{"cityname":"yl","staName":"博白","staNo":"59002","date":"20220608","20-20rain":"32.9"},{"cityname":"yl","staName":"容县","staNo":"59003","date":"20220608","20-20rain":"9.1"},{"cityname":"yl","staName":"陆川","staNo":"59004","date":"20220608","20-20rain":"126.7"},{"cityname":"yl","staName":"北流","staNo":"59001","date":"20220609","20-20rain":"44.1"},{"cityname":"yl","staName":"博白","staNo":"59002","date":"20220609","20-20rain":"3.2"},{"cityname":"yl","staName":"容县","staNo":"59003","date":"20220609","20-20rain":"0.5"},{"cityname":"yl","staName":"陆川","staNo":"59004","date":"20220609","20-20rain":"17.7"}]}" 超过15条数据标头为:"1714118677935.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20240930/43596d04567e361b414a5a95a6390ed0.png) 接口参数拼接情况为:"cityname=wz&begintime=20220218&endtime=20220221&savestr= {[{"cityname":"wz","staName":"梧州","staNo":"59001","date":"20220219","20-20rain":"52.3"},{"cityname":"wz","staName":"藤县","staNo":"59002","date":"20220219","20-20rain":"61.9"},{"cityname":"wz","staName":"蒙山","staNo":"59003","date":"20220219","20-20rain":"41.5"},{"cityname":"wz","staName":"龙圩","staNo":"59004","date":"20220219","20-20rain":"46.6"},{"cityname":"wz","staName":"岑溪","staNo":"59005","date":"20220219","20-20rain":"85.3"},{"cityname":"wz","staName":"梧州","staNo":"59001","date":"20220220","20-20rain":"48"},{"cityname":"wz","staName":"藤县","staNo":"59002","date":"20220220","20-20rain":"53.2"},{"cityname":"wz","staName":"蒙山","staNo":"59003","date":"20220220","20-20rain":"36.5"},{"cityname":"wz","staName":"龙圩","staNo":"59004","date":"20220220","20-20rain":"45.4"},{"cityname":"wz","staName":"岑溪","staNo":"59005","date":"20220220","20-20rain":"46.3"},{"cityname":"wz","staName":"梧州","staNo":"59001","date":"20220221","20-20rain":"22.2"},{"cityname":"梧州","staName":"藤县","staNo":"59002","date":"20220221","20-20rain":"23.7"},{"cityname":"wz","staName":"蒙山","staNo":"59003","date":"20220221","20-20rain":"9.3"},{"cityname":"wz","staName":"龙圩","staNo":"59004","date":"20220221","20-20rain":"23.4"},{"cityname":"wz","staName":"岑溪","staNo":"59005","date":"20220221","20-20rain":"22.3"}]}" 此时提交会马上显示接口"image.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20240930/4f4c499aa49609a3ad98eab961c23651.png) 并且浏览器-网络 预览 显示Failed load response data:No data found for resource with given identifier。 1.尝试过在nginx.conf 下的 location / 添加 "449a8a94b03cd2bc4d0f3ffef9dadb1.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20240930/ef33101bf801cc686d0b2be26d8bc297.png) location /prod-api/ 下的最后一行添加 添加情况如下: location / { root \\html\\dist; try_files $uri $uri/ /index.html; index index.html index.htm; fastcgi_buffers 256 1024k; chunked_transfer_encoding off; } location /prod-api/{ proxy_set_header Host $http_host; proxy_set_header X-Real-IP $remote_addr; proxy_set_header REMOTE-HOST $remote_addr; proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for; proxy_pass http://127.0.0.1:6688/; fastcgi_buffers 256 1024k; chunked_transfer_encoding off; } 重启nginx,进入修改数据调用接口提交,在数据量savestr大(里面的数组长度超过15条)的情况下还是马上报错"1714120956225.png" (https://wmprod.oss-cn-shanghai.aliyuncs.com/c/user/20240930/d4b4e305e497756a1ef82470ca7e5e98.png) savestr数据量小(小于15条)情况下修改提交正常。 此问题仅在虚拟机linux部署中出现。如何进行调整呢?
多个axios请求怎么按顺序实现?我写的是哪里出问题了,打印的res值都是来自第一个post请求的返回结果,第二个get请求里的res值没有获取到? axios({ method: 'POST', url: 'https://openspeech.bytedance.com/api/v1/tts_async/submit', headers: { 'Content-Type': 'application/json', 'Resource-Id': 'volc.tts_async.default', 'Authorization': 'Bearer;CiWImuQXN_xzNTZ5YyC5r' }, data: { "appid": "5565218", "reqid": nanoid(30), "text": '这是一段测试文字!', "format": "wav", "voice_type": "BV705_streaming" } }).then(function (res) { console.log('post', res.data) return axios({ method: 'GET', headers: { 'Content-Type': 'application/json', 'Resource-Id': 'volc.tts_async.default', 'Authorization': 'Bearer;CiWI1f4XN_xzNTZ5YyC5r' }, url: `https://openspeech.bytedance.com/api/v1/tts_async/query?appid=5568&task_id=${res.data.task_id}` }) }).then(function (res) { console.log('get', res.data) }).catch(err => { console.log('get:err') }) 把第二个then放里面也是一样, axios({ method: 'POST', url: 'https://openspeech.bytedance.com/api/v1/tts_async/submit', headers: { 'Content-Type': 'application/json', 'Resource-Id': 'volc.tts_async.default', 'Authorization': 'Bearer;CiWImuQZhWXN_xzNTZ5YyC5r' }, data: { "appid": "556218", "reqid": nanoid(30), "text": '这是一段测试文字!', "format": "wav", "voice_type": "BV705_streaming" } }).then(function (res) { console.log('post', res.data) axios({ method: 'GET', headers: { 'Content-Type': 'application/json', 'Resource-Id': 'volc.tts_async.default', 'Authorization': 'Bearer;CiWImuQC1f4XN_xzNTZ5YyC5r' }, url: `https://openspeech.bytedance.com/api/v1/tts_async/query?appid=556218&task_id=${res.data.task_id}` }).then(function (res) { console.log('get', res.data) }) }).catch(function (err) { console.log(err) }) 前端新手,请多指教