即使API返回数据,React Fetch也会失败:“ TypeError:无法提取”

时间:2019-07-09 09:02:02

标签: reactjs api fetch

我有一个使用React fetch访问Web API的请求,但收到错误:“ TypeError:无法获取”。

我在Web API中设置了一个断点,它返回的数据没有任何错误。所以我认为问题出在React的客户端站点。

这是我的API(该项目是Web API核心2.2):

[Authorize]
[Route("api/[controller]")]
[ApiController]
public class ValuesController : ControllerBase
{
    // GET api/values
    [HttpGet]
    public ActionResult<IEnumerable<string>> Get()
    {            
        //I set a break point here and it return value below
        return new string[] { "value1", "value2" };
    }       
}

这是我在React中的提取请求:

testButton = async function () {
    const json = await fetch('https://localhost:44365/api/values/',
        {
            method: 'GET',
            credentials: 'include',
            mode: 'cors'
        })
        .then(response => response.json())
        .catch(function(e) {                
            console.log("error");//the error comes here (e = TypeError: Failed to fetch)
        });
    return json;
}

请帮助我在提取请求中获取数据。任何建议将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:0)

尝试

const testButton = async function () {
    const json = await fetch('https://localhost:44365/api/values/',
        {
            method: 'GET',
            credentials: 'include',
            mode: 'cors'
        })
      if (json.ok) {
        const resp = await res.json()
        console.log(resp)
      }   
}

testButton();