Kaynağa Gözat

fix: 修复ajax post formdata

zhangyuhan 4 yıl önce
ebeveyn
işleme
aca959d9eb

+ 1 - 1
jydocs-mobile/.env.production

@@ -1,3 +1,3 @@
 NODE_ENV=production
-VUE_APP_BASE_API = ''
+VUE_APP_BASE_API='/jydocs/'
 BASE_URL = '/page_docs_app/'

+ 6 - 0
jydocs-mobile/src/api/ajax.ts

@@ -1,4 +1,5 @@
 import axios from 'axios'
+import qs from 'qs'
 import { Toast } from 'vant'
 
 // 配置api地址
@@ -13,6 +14,11 @@ const $ajax = axios.create({
 $ajax.interceptors.request.use(config => {
   // 在请求发送之前做一些事
   console.log('--发送之前--', config)
+  if (config.method === 'post' || config.method === 'POST') {
+    if (typeof config.data !== 'string') {
+      config.data = qs.stringify(config.data)
+    }
+  }
   // 获取插入token
   return config
 }, function (error) {

+ 16 - 0
jydocs-pc/src/api/index.js

@@ -1,8 +1,24 @@
 import axios from 'axios'
+import qs from 'qs'
 
 console.log('[debug]当前环境:', process.env)
 const service = axios.create({
   baseURL: process.env.VUE_APP_BASE_API
 })
 
+service.interceptors.request.use(config => {
+  // 在请求发送之前做一些事
+  if (config.method === 'post' || config.method === 'POST') {
+    if (typeof config.data !== 'string') {
+      config.data = qs.stringify(config.data)
+    }
+  }
+  // 获取插入token
+  return config
+}, function (error) {
+  // 当出现请求错误是做一些事
+  console.log('--请求超时--', error)
+  return Promise.reject(error)
+})
+
 export default service

+ 3 - 1
jydocs-pc/src/api/modules/home.js

@@ -1,13 +1,15 @@
 import httpRequest from '@/api'
 import mockRequest from '@/api/mock'
+import qs from 'qs'
 
 let request = httpRequest
-if (process.env.NODE_ENV === 'development' && process.env.VUE_APP_MOCK) {
+if (process.env.NODE_ENV === 'development' && process.env.VUE_APP_MOCK === 'true') {
   // @ts-ignore
   request = mockRequest
 }
 
 export function getHomeHot (data) {
+  data = qs.stringify(data)
   return request({
     url: '/topList',
     method: 'post',

+ 1 - 1
jydocs-pc/src/api/modules/search.js

@@ -2,7 +2,7 @@ import httpRequest from '@/api'
 import mockRequest from '@/api/mock'
 
 let request = httpRequest
-if (process.env.NODE_ENV === 'development' && process.env.VUE_APP_MOCK) {
+if (process.env.NODE_ENV === 'development' && process.env.VUE_APP_MOCK === 'true') {
   // @ts-ignore
   request = mockRequest
 }

+ 1 - 1
jydocs-pc/src/api/modules/user.js

@@ -2,7 +2,7 @@ import httpRequest from '@/api'
 import mockRequest from '@/api/mock'
 
 let request = httpRequest
-if (process.env.NODE_ENV === 'development' && process.env.VUE_APP_MOCK) {
+if (process.env.NODE_ENV === 'development' && process.env.VUE_APP_MOCK === 'true') {
   // @ts-ignore
   request = mockRequest
 }