慕的地142145
weixin_慕盖茨8367705
加油小腻腻
你看一下netWork呀,请求有没有发起来呢?
colorfuljun
找到原因了,是在封装的进修把
config.params = newParams
写成了
config.parmas = newParams
单词写错了,所以说之前的接口可以正常使用。那这个接口错了报的是跨域的提示,就不是跨域的问题。找到根源一步一步的排除还是可以找到问题的
weixin_慕仰4356863
挂载接口没啥性能影响吧?可以分割到 view 里,分批挂载
qq_慕婉清3289532
找到原因了
因扎吉

在http.js文件中, 请求成功的数据进行赋值再返回. 否则就永远为 {}
清辞_
import axios from 'axios'
import service from './contactApi'
import { Toast } from 'vant'
// 1.service 循环遍历出不同的请求方法
let instance = axios.create({
// 注意地址的拼写
baseURL: 'http://localhost:9000/api',
timeout: 1000
})
let Http = {}; //包裹请求方法的容器
// 2.请求格式或者参数的统一
for (let key in service) {
let api = service[key]; // url method
console.log(api)
console.log(key)
// async的作用:避免进入回调地狱
Http[key] = async function (
params, // 请求参数 get(url),put,post,,patch(data),delete(url)
isFormdata = false, // 判断是否是form-data请求
config = {} //配置参数
) {
// let url = api.url
let newParams = {}
// 3.content-type是否是form-data的判断
if (params && isFormdata) {
newParams = new FormData();
for (let i in params) {
// 转换form-data的格式
newParams.append(i, params[i]);
}
} else {
newParams = params;
}
// 4.不同的请求判断
let response = {}; //请求的返回值
if (api.method === 'put' || api.method === 'post' || api.method === 'patch') {
try {
response = await instance[api.method](api.url, newParams, config);
} catch (err) {
response = err;
}
} else if (api.method === 'delete' || api.method === 'get') {
try {
config.params = newParams;
response = await instance[api.method](api.url, config);
} catch (err) {
response = err;
}
}
return response; // 返回响应值
}
}
// 拦截器的添加
// 5.请求拦截器
instance.interceptors.request.use(
// 发起请求前
config => {
Toast.loading({
mask: true, //是否显示阴影
duration: 0, // 0是一直存在阴影,默认的是1000ms
forbidClick: true, //禁止点击
message: '加载中...'
})
return config
},
// 请求失败
() => {
Toast.clear()
Toast('请求错误,请稍后重试')
}
)
// 6.响应拦截器
instance.interceptors.response.use(
// 请求成功
res => {
Toast.clear()
return res.data
},
() => {
Toast.clear()
Toast('请求错误,请稍后重试')
}
)
export default Http
qq__鳡_覺_0
慕莱坞3307209
不是跨域的问题,因为nodejs搭建的服务已经处理了这个跨域。我也遇到了删除接口有问题
粉条雨顺
自己多检查下吧,字母大小写,命名啥的 getlist要大写,驼峰命名
qq_慕丝3367668
await要放在async函数里
blue_angel
在onAdd的事件中把 `editingContact` 重新赋值为空对象 这是在编辑的时候保存的编辑的那一项
blue_angel
contactApi.js文件 getContactList里面method为get
长缨缚苍龙
9000是你访问node服务端接口的地址的端口,8000是你本地服务器运行项目的地址端口
kimLu_9448082
zzm_1
个人觉得可能会存在这种,不过,可以在拦截器那边判断toast是否已经存在了,如果已经存在并未销毁,则不展示弹出层。
lenSory
哪的qs?