这是前端axios.js: // 定义一个变量,用于存储上一次查询的最新入库订单时间 let interTime = ""; // 定义一个函数,用于查询最入库订单 function checkNewOrders() { axios.post(`/wms/inter/order/checkNewOrders/${interTime}`) .then(res => { const latestInterOrder = res.data.data; if (latestInterOrder) { // 如果有最新入库订单,则弹出提示框 Notification.success({ title: "有新的入库订单!" }); // 更新最新入库订单时间 interTime = latestInterOrder.interTime; } }) .catch(error => { if (error.response && error.response.status === 404) { // 如果返回404错误,则表示没有新的入库订单,不需要报错 return; } console.error(error); }); } // 定义一个定时器,每隔一段时间查询一次最新入库订单 setInterval(checkNewOrders, 5000); // 每隔5秒查询一次, 以src/components/layout/main.vue的页面优先级最高,使其他用户在其他页面也能看到弹窗
时间: 2024-02-15 09:27:13 浏览: 153
从你的前端代码中可以看出,`interTime`是一个用于存储最新查询时间的变量。在 `checkNewOrders` 函数中,使用axios向服务器发送post请求,请求URL为 `/wms/inter/order/checkNewOrders/${interTime}`。这个URL的最后一个参数是你存储的最新查询时间,用于通知服务器只返回最新的订单。如果返回的结果中有新的入库订单,就会弹出提示框,并更新存储的最新查询时间。定时器每隔5秒钟调用一次 `checkNewOrders` 函数,以保持查询最新入库订单的实时性。如果服务器返回404错误,则表示没有新的入库订单,不需要报错,直接返回即可。
相关问题
Access to XMLHttpRequest at 'http://localhost:10010/item/list?page=1&size=5' from origin 'http://localhost:9001' has been blocked by CORS policy: No 'Access-Control-Allow-Origin' header is present on the requested resource. (索引):168 Error: Network Error at e.exports (axios.min.js:8:4483) at l.onerror (axios.min.js:8:3323) axios.min.js:8 GET http://localhost:10010/item/list?page=1&size=5 net::ERR_FAILED 404 (Not Found) (匿名) @ axios.min.js:8 e.exports @ axios.min.js:8 e.exports @ axios.min.js:8 Promise.then(异步) r.request @ axios.min.js:8 r.<computed> @ axios.min.js:8 (匿名) @ axios.min.js:2 query @ (索引):159 created @ (索引):149 callHook @ vue.js:2921 Vue._init @ vue.js:4617 Vue @ vue.js:4716 (匿名) @ (索引):128
这个错误是因为你的前端代码向后端发起了跨域请求,但是后端没有设置允许跨域访问的响应头,所以浏览器会拦截这个请求。你需要在后端设置一个响应头来允许前端的跨域请求。可以在后端的接口中添加如下代码:
```java
response.setHeader("Access-Control-Allow-Origin", "*");
```
其中,`*` 号表示允许所有来源的跨域请求,你也可以指定具体的域名。同时,你还需要确保请求的 URL 和后端代码中的 URL 是一致的,否则会出现 404 Not Found 错误。
Cannot read properties of undefined (reading 'use') at eval (webpack-internal:///./src/plugins/axios.js:53:45)
这个错误通常出现在代码中使用了未定义或未初始化的变量或对象。在你的代码中,这个错误发生在一个名为 axios.js 的插件的第 53 行,意味着你的代码尝试访问一个未定义的对象的 use 属性。
你可以检查代码中的变量或对象是否正确定义和初始化。你也可以使用调试器逐行检查代码,找出引起错误的原因。另外,使用 try-catch 块可以捕捉错误并提供更具体的错误信息。
阅读全文