首页 > 解决方案 > 尝试从我的 REST API 进行 Axios 调用时获取“ERPROTO”

问题描述

我的 API 位于“localhost:3000/api/shopitems”,并在通过浏览器请求时成功返回以下 JSON 数据:

[
    {
        "item_available_sizes": {
            "s": 1
        },
        "imgs": {
            "album": [],
            "thumbnail": "assets/imgs/square_sample1-1.jpg",
            "main": "assets/imgs/sqare-sample1.jpeg"
        },
        "item_categories": [
            "dresses"
        ],
        "_id": "5e6c73b3daafdd9f1890d691",
        "item_name": "Low Back Strappy Maxi Dress",
        "item_price": 84.99,
        "item_description": "Long dress",
        "__v": 0
    }
]

但是,当我使用以下代码发出请求时:

axios.get('https://localhost:3000/api/shopitems')
    .then(data => console.log(data))
    .catch(err => console.log(err))

我收到以下错误:

   Error: write EPROTO 15224:error:1408F10B:SSL 
    routines:ssl3_get_record:wrong version 
    number:c:\ws\deps\openssl\openssl\ssl\record\ssl3_record.c:332:

    at WriteWrap.afterWrite [as oncomplete] (net.js:788:14)
    errno: 'EPROTO'

发生这种情况我做错了什么?我正在使用 mongodb/mongoose、Express、NodeJS。

标签: javascriptnode.jsmongodbexpressmongoose

解决方案


看来问题是您使用的是https。将其更改为此并告诉我们它是否适合您

axios.get('http://localhost:3000/api/shopitems')
.then(data => console.log(data))
.catch(err => console.log(err))

推荐阅读