首页 > 解决方案 > 什么会导致 Chrome 在使用 axios 从 vue 前端向 C# Api 发出请求时给出 net::ERR_FAILED?

问题描述

我有一个 C# Backend+API,可以从我的 Vue 应用程序访问。要执行请求,我使用 axios。我在 C# 中有一个端点,代码如下

  // GET: api/Timezone
        public HttpResponseMessage GetTimezoneData()
        {
            var timezones = _service.GetSmcTimezones();
            var osTimezones = _service.GetOSTimezones();
            var resp = JsonConvert.SerializeObject(osTimezones);
                
                //new JsonResult { Data = osTimezones, JsonRequestBehavior = JsonRequestBehavior.AllowGet };

            var response = Request.CreateResponse(HttpStatusCode.OK);
            response.Content = new StringContent(resp, System.Text.Encoding.UTF8, "application/json");

            return response;
        }

我使用以下代码在前端访问此请求:

const config:AxiosRequestConfig = {
  method: 'get',
  url: 'https://localhost:44333/api/Timezone/',
  headers: { }
};

axios(config)
.then(function (response) {
  console.log(JSON.stringify(response.data));
})
.catch(function (error) {
  console.log(error);
});
  }
}

奇怪的是,我可以在使用 Postman 时访问数据,但是从前端发送请求时,请求失败。我收到一个(失败的)net::ERR_FAILED代码,但没有得到任何响应数据。 在此处输入图像描述有人有想法吗?

标签: c#typescriptvue.jshttpaxios

解决方案


您是否尝试过指定 Content-Type 标头?

const config:AxiosRequestConfig = {
  method: 'get',
  url: 'https://localhost:44333/api/Timezone/',
  headers: {
        "Content-type": "application/json"
    }
};

推荐阅读