问题描述
我在写一个WPS的加载项,写到发送请求拿到数据,但是就是一直Network Error。然后我用同样的请求在另外一个普通的Vue项目中试了一下发现完全没问题。
相关代码
WPS加载项的
这是TaskPane.vue
<template>
<div>
<el-select v-model="value" placeholder="请选择" size="small">
<el-option
v-for="item in options"
:key="item.value"
:label="item.label"
:value="item.value">
</el-option>
</el-select>
<basic-search :keywords="keywords" v-on:search="search"></basic-search>
<DocItem></DocItem>
<DocItem></DocItem>
</div>
</template>
<script>
...
export default {
name: 'TaskPane',
components: {DocItem, BasicSearch},
methods: {
...
search(keywords) {
// alert(keywords);
this.$axios({
method: 'get',
url: 'http://localhost:8080/myzproduct/getAllByTitle',
params: {
title: "iphone",
}
}).then(res=>{
alert("suceess");
alert(res.data);
console.log(res.data);
},err=>{
alert("错误是" + err);
console.log(err);
})
},
...
}
</script>
这是main.js
import Vue from 'vue'
import App from './App.vue'
import VueRouter from 'vue-router'
// 完整引入,main.js写入以下代码
import ElementUI from 'element-ui'
import 'element-ui/lib/theme-chalk/index.css'
import axios from 'axios'
Vue.use(ElementUI)
Vue.use(VueRouter)
Vue.prototype.$axios = axios
Vue.config.productionTip = false
const routerCfg= [
{
path: '/',
name: '默认页',
component:()=>import('./components/Root.vue')
},{
path: '/taskpane',
name: '任务窗格',
component:()=>import('./components/TaskPane.vue')
}
]
new Vue({
render: h => h(App),
router: new VueRouter({routes:routerCfg}),
created: function () {
//
}
}).$mount('#app')
这是package.json
{
"name": "cyanfox_1",
"addonType": "wps",
"version": "1.0.0",
"private": true,
"scripts": {
"serve": "vue-cli-service serve --port 3889",
"build": "vue-cli-service build",
"lint": "vue-cli-service lint"
},
"dependencies": {
"axios": "^0.19.2",
"core-js": "^3.6.4",
"element-ui": "^2.15.13",
"vue": "^2.6.11",
"vue-router": "^3.1.3"
},
"devDependencies": {
"@vue/cli-plugin-babel": "~4.2.0",
"@vue/cli-service": "~4.2.0",
"vue-template-compiler": "^2.6.11",
"wps-jsapi": "latest"
},
"eslintConfig": {
"root": true,
"env": {
"node": false
},
"extends": [
"plugin:vue/essential",
"eslint:recommended"
],
"parserOptions": {
"parser": "babel-eslint"
},
"rules": {},
"globals": {
"wps": "readonly"
}
},
"browserslist": [
"> 1%",
"last 2 versions"
]
}
这是vue.config.js
// const { defineConfig } = require('@vue/cli-service')
module.exports = {
"publicPath": "",
"productionSourceMap": false,
devServer: {
proxy: "http://localhost:8081" // 这里存放的是真正的服务器
}
}
普通Vue项目的
这是vue.config.js
```javascript
const { defineConfig } = require('@vue/cli-service')
module.exports = defineConfig({
transpileDependencies: true,
//关闭eslint
lintOnSave:false,
devServer: {
proxy: "http://localhost:8081" // 这里存放的是真正的服务器
}
})
这是发送请求的
```javascript
mounted() {
this.$axios({
method: 'get',
url: 'http://localhost:8080/myzproduct/getAllByTitle',
params: {
title: "iphone",
}
}).then(res=>{
alert("suceess");
alert(res.data);
console.log(res.data);
},err=>{
alert("错误是" + err);
console.log(err);
})
},
操作环境
Win11,2023.4.6为止最新的WPS,后端是用SSM写的
要求
请尽可能详细描述,采纳标准为我成功在WPS加载项中拿到数据