我在使用 API 发布请求时遇到这 2 个错误 (使用 Chrome )
xhr.js:178 POST MY_API_URL net::ERR_HTTP2_PROTOCOL_ERROR createError.js:16 Uncaught (in promise) Error: Network Error at createError (createError.js:16) at XMLHttpRequest.handleError (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 时,无论有无正文,它都可以正常工作。
最佳答案
我在使用带有 React 的 Axios 和托管在 000webhost 上的 PHP Web 服务时遇到了同样的问题。它与 Postman 以及 Vanilla fetch
功能完美配合。奇怪,好像是axios和000webhost的兼容性问题...
我的解决方案是在我的 API 调用中使用 fetch
而不是 Axios,因为我没有看到在我的场景中使用 Axios 的任何特殊原因。
Here's a good example关于如何使用 fetch
和 POST
。
好像你在 3 个月前就问过这个问题,所以我希望你能在我回复之前找到解决方案。如果您设法通过 000webhost 使用 Axios,请分享您的智慧😎
关于javascript - 发布请求抛出 net::ERR_HTTP2_PROTOCOL_ERROR,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61143574/