axios POST请求引发网络::ERR_HTTP2_PROTOCOL_ERROR

omhiaaxx  于 2023-10-18  发布在  iOS
关注(0)|答案(2)|浏览(216)

我得到这2个错误时,使用后请求一个API(使用Chrome)
xhr.js:178 POST MY_API_URL net::ERR_HTTP2_PROTOCOL_ERROR错误.js:16 Uncaught(in promise)错误:网络错误在XMLHttpRequest. xml错误(xhr.js:83)
我正在做一个简单的POST请求(React代码):

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));
}

当我没有在body中发送任何东西时,它工作得很好(它返回一个空数组)

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

当我使用 Postman 同样的要求,它与没有身体,它的工作也。

wnrlj8wa

wnrlj8wa1#

我使用Axios与React和托管在000webhost上的PHP Web服务时遇到了同样的问题。它与Postman以及vanilla fetch函数一起工作得非常好。奇怪,似乎是Axios和000webhost之间的兼容性问题。
我的解决方案是使用fetch而不是Axios进行API调用,因为我没有看到在我的场景中使用Axios的任何特殊原因。Here's a good example关于如何将fetchPOST一起使用。
好像你3个月前就问过了,所以我希望你能在我回答之前找到解决方案。如果您成功地使用Axios与000webhost,请分享您的智慧😎

koaltpgm

koaltpgm2#

添加斜杠添加URL的结尾

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

相关问题