发布请求抛出net :: ERR_HTTP2_PROTOCOL_ERROR

时间:2020-04-10 15:32:47

标签: javascript php reactjs post request

在使用对API的发布请求时遇到了这2个错误 (使用chrome)

xhr.js:178 POST MY_API_URL net :: ERR_HTTP2_PROTOCOL_ERROR createError.js:16未捕获(承诺)错误:发生网络错误 XMLHttpRequest.handleError处的createError(createError.js:16) (xhr.js:83)

我正在执行一个简单的POST请求 (反应代码):

const postData = async()=>{
    let res = await Axios.post('/terrenos', {'idTerreno':'0'} );
    console.log( res.data );
}

在API方面,我只是用它来调试(PHP代码):

if( $_SERVER["REQUEST_METHOD"] === 'GET'){
    main($_GET);
}else if( $_SERVER["REQUEST_METHOD"] === 'POST'){
    echo(json_encode($_POST));
}

当我不发送任何内容时,它就可以正常工作(它返回一个空数组)

const postData = async()=>{
    let res = await 
    Axios.post('https://gpgpy.000webhostapp.com/papaProject/API/v2/query.php');
    console.log( res.data );
}

当我对邮递员使用相同的请求时,无论有无正文,它也可以工作。

1 个答案:

答案 0 :(得分:1)

我使用带有React的Axios和托管在000webhost上的PHP Web服务遇到了相同的问题。它与Postman以及香草fetch函数完美配合。奇怪的是,这似乎是Axios和000webhost之间的兼容性问题...

我的解决方案是使用fetch而不是Axios进行API调用,因为在我的方案中我没有看到使用Axios的任何特殊原因。 Here's a good examplefetch一起使用POST

好像您在3个月前问过这个问题,所以我希望您能比我早找到解决方案。如果您设法通过000webhost使用Axios,请分享您的智慧?