【问题标题】:Axios javascript. I need check server every 100ms from client by setInterval jsAxios 的 JavaScript。我需要通过 setInterval js 从客户端每 100 毫秒检查一次服务器
【发布时间】:2020-03-02 19:56:33
【问题描述】:

这是一个客户端。我确实使用 Axios 从客户端向 localhost 请求。我希望服务器每 500 毫秒响应一次。

setInterval(function () {
    axios.get('http://127.0.0.1:8000/progress').then(function (data) {
        console.log(data)
    })
}, 500)

这是服务器端/服务器应该只发送一个文本。它不起作用。为什么?

Route::get("/progress", function() {
    return "text";
});

同时,我确实请求另一条路线并在上传文件时等待响应。并且 SetInterval 仅在此发布请求之后才起作用。为什么?

axios.post('http://127.0.0.1:8000/test', formData, {
        headers: {
            'Content-Type': 'multipart/form-data'
        },
        onUploadProgress: function (progressEvent) {
            this.uploadPercentage = parseInt(Math.round((progressEvent.loaded * 100) / progressEvent.total));
        }.bind(this)
    }).then(function (data) {
        console.log("Image Upload");
    })
    .catch(function (data) {
        console.log(data);
    });
},

那是行不通的。为什么?

【问题讨论】:

  • 您的浏览器中的开发者控制台是否有错误,或者您的服务器是否有任何错误?
  • 不只是空响应

标签: javascript laravel http axios


【解决方案1】:

使用相对 URL,并确保在加载 Axios 的位置包含此 URL,例如 app.js,并记录响应数据,而不是响应对象本身

setInterval(function () {
    axios.get('/progress').then(function (response) {
        console.log(response.data);
    });
}, 100);

希望对你有帮助

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-25
    • 1970-01-01
    • 1970-01-01
    • 2019-08-13
    相关资源
    最近更新 更多