Javascript v-on处理程序中的错误(承诺/异步):";TypeError:axios“uuuu网页包”uu IMPORTED“uu模块”uu 14“uuuuuu default.a.todo不是函数”;
我正在创建一个简单的待办事项列表。在方法部分中创建createTodo()之前,我能够成功地将数据(文本)发布到PostMan。这是应用程序的服务器部分。现在转到客户机部分。现在,我无法发布到mongo数据库。在此方面的任何帮助都将不胜感激。非常感谢。 代码如下:Javascript v-on处理程序中的错误(承诺/异步):";TypeError:axios“uuuu网页包”uu IMPORTED“uu模块”uu 14“uuuuuu default.a.todo不是函数”;,javascript,vue.js,Javascript,Vue.js,我正在创建一个简单的待办事项列表。在方法部分中创建createTodo()之前,我能够成功地将数据(文本)发布到PostMan。这是应用程序的服务器部分。现在转到客户机部分。现在,我无法发布到mongo数据库。在此方面的任何帮助都将不胜感激。非常感谢。 代码如下: FULLSTACKVUEEXPRESS client node_modules public src assets components TodoComponent.
FULLSTACKVUEEXPRESS
client
node_modules
public
src
assets
components
TodoComponent.vue
App.vue
main.js
.gitignore
babel.config.js
package.lock.json
package.json
TodoService.js
node_modules
server
.gitignore
package-lock.json
package.json
App.vue
<template>
<div id="app">
<h1>Get It Done!</h1>
<TodoComponent />
</div>
</template>
<script>
import TodoComponent from "./components/TodoComponent.vue";
export default {
name: "app",
components: {
TodoComponent
}
};
</script>
<style>
#app {
font-family: "Avenir", Helvetica, Arial, sans-serif;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
text-align: center;
color: #2c3e50;
margin-top: 60px;
}
</style>
如果您需要查看某个文件,请告诉我,以便我可以编辑此查询。Main.js与我从vue create命令启动时完全相同。再次感谢您在这方面的帮助
注意:控制台中的完整错误如下:
vue.runtime.esm.js?2b0e:619 [Vue warn]: Error in v-on handler (Promise/async): "TypeError: axios__WEBPACK_IMPORTED_MODULE_14___default.a.todo is not a function"
found in
---> <TodoComponent> at src/components/TodoComponent.vue
<App> at src/App.vue
<Root>
warn @ vue.runtime.esm.js?2b0e:619
logError @ vue.runtime.esm.js?2b0e:1884
globalHandleError @ vue.runtime.esm.js?2b0e:1879
handleError @ vue.runtime.esm.js?2b0e:1839
eval @ vue.runtime.esm.js?2b0e:1856
Promise.catch (async)
invokeWithErrorHandling @ vue.runtime.esm.js?2b0e:1856
invoker @ vue.runtime.esm.js?2b0e:2179
original._wrapper @ vue.runtime.esm.js?2b0e:6917
vue.runtime.esm.js?2b0e:1888 TypeError: axios__WEBPACK_IMPORTED_MODULE_14___default.a.todo is not a function
at Function.insertTodo (TodoService.js?fff3:26)
at VueComponent._callee2$ (VM6913 TodoComponent.vue:90)
vue.runtime.esm.js?2b0e:619[vue warn]:v-on处理程序中的错误(承诺/异步):“TypeError:axios_uu网页包_u导入的_u模块_u14_uu默认.a.todo不是函数”
发现于
--->位于src/components/TodoComponent.vue
在src/App.vue
warn@vue.runtime.esm.js?2b0e:619
logError@vue.runtime.esm.js?2b0e:1884
globalHandleError@vue.runtime.esm.js?2b0e:1879
handleError@vue.runtime.esm.js?2b0e:1839
eval@vue.runtime.esm.js?2b0e:1856
Promise.catch(异步)
invokeWithErrorHandling@vue.runtime.esm.js?2b0e:1856
invoker@vue.runtime.esm.js?2b0e:2179
原始._wrapper@vue.runtime.esm.js?2b0e:6917
vue.runtime.esm.js?2b0e:1888 TypeError:axios_uuuWebpack_uImported_uModule_u14_uuuuuuDefault.a.todo不是函数
在Function.insertTodo(TodoService.js?fff3:26)
在VueComponent.\u调用2$(VM6913 TodoComponent.vue:90)
问题在于这一行:
返回axios.todo(url、{
axios
对象没有todo
方法。我猜应该是axios.post
或axios.put
我相信你为TodoService.js
包含了错误的代码。我相信你是对的。剪切和粘贴的危险性。感谢你提醒我注意。我将编辑现在就开始编码。这就是问题所在。谢谢你。我把ti改成了axios.post(url…等等),效果很好。谢谢你花时间在这上面。
import axios from 'axios';
const url = 'http://localhost:5000/api/todos/';
class TodoService {
// Get todos
static getTodos() {
return new Promise(async (resolve, reject) => {
try {
const res = await axios.get(url);
const data = res.data;
resolve(
data.map(todo => ({
...todo,
createdAt: new Date(todo.createdAt)
}))
);
} catch (err) {
reject(err);
}
});
}
// Create Todos
static insertTodo(text) {
return axios.todo(url, {
text
});
}
// Delete Todos
static deleteTodo(id) {
return axios.delete(`${url}${id}`);
}
}
export default TodoService;
vue.runtime.esm.js?2b0e:619 [Vue warn]: Error in v-on handler (Promise/async): "TypeError: axios__WEBPACK_IMPORTED_MODULE_14___default.a.todo is not a function"
found in
---> <TodoComponent> at src/components/TodoComponent.vue
<App> at src/App.vue
<Root>
warn @ vue.runtime.esm.js?2b0e:619
logError @ vue.runtime.esm.js?2b0e:1884
globalHandleError @ vue.runtime.esm.js?2b0e:1879
handleError @ vue.runtime.esm.js?2b0e:1839
eval @ vue.runtime.esm.js?2b0e:1856
Promise.catch (async)
invokeWithErrorHandling @ vue.runtime.esm.js?2b0e:1856
invoker @ vue.runtime.esm.js?2b0e:2179
original._wrapper @ vue.runtime.esm.js?2b0e:6917
vue.runtime.esm.js?2b0e:1888 TypeError: axios__WEBPACK_IMPORTED_MODULE_14___default.a.todo is not a function
at Function.insertTodo (TodoService.js?fff3:26)
at VueComponent._callee2$ (VM6913 TodoComponent.vue:90)