reactjs - POST https://google-translate1.p.rapidapi.com/language/translate/v2 502 (Bad Gateway) 在 React 中获取时
问题描述
JavaScript fetch 方法的 rapidapi google translate API 代码示例如下:
fetch("https://google-translate1.p.rapidapi.com/language/translate/v2", {
"method": "POST",
"headers": {
"x-rapidapi-host": "google-translate1.p.rapidapi.com",
"x-rapidapi-key": "MY-API-KEY",
"accept-encoding": "application/gzip",
"content-type": "application/x-www-form-urlencoded"
},
"body": {
"source": "en",
"q": "Hello, world!",
"target": "es"
}
})
.then(response => {
console.log(response);
})
.catch(err => {
console.log(err);
})
现在我复制了它,并将其用于 React 组件,如下所示:
fetch("https://google-translate1.p.rapidapi.com/language/translate/v2", {
method: "POST",
body: {
"source": "en",
"q": "Hello, world!",
"target": "es"
},
headers: {
"x-rapidapi-host": "google-translate1.p.rapidapi.com",
"x-rapidapi-key": "MY-API-KEY",
"accept-encoding": "application/gzip",
"content-type": "application/x-www-form-urlencoded"
}
})
.then(response => {
console.log(response);
})
.catch(err => {
console.log(err);
})
运行程序后,我在控制台上收到错误“POST https://google-translate1.p.rapidapi.com/language/translate/v2 502 (Bad Gateway)”!
如何与服务器建立健康的连接?
解决方案
这段代码为我解决了同样的问题
<script>
const key = "your key"
const qs = obj => {
return new URLSearchParams(obj).toString();
}
const word = "Hello, world";
const data = qs({
q: word,
source: "en",
target: "es",
})
const options = {
method: "POST",
url: "https://google-translate1.p.rapidapi.com/language/translate/v2",
headers: {
"content-type": "application/x-www-form-urlencoded",
"x-rapidapi-key": key,
"x-rapidapi-host": "google-translate1.p.rapidapi.com",
},
data: data,
};
axios.request(options).then(function (response) {
console.log(response.data);
})
.catch(function (error) {
console.error(99, error);
});
</script>
推荐阅读
- c# - EF Core Navigational 属性与该键以外的属性
- java - java.lang.ClassNotFoundException:无法在新的 docker 容器上加载类:com.microsoft.sqlserver.jdbc.SQLServerDriver
- python - 在不破坏兼容性或循环导入的情况下将 Python 函数移动到模块
- c# - DllExportAppDomainIsolatedTask 在构建 DLL 时意外失败
- java - 如何将此响应转换为模型
- algorithm - 找到不同的子集?
- c# - 我可以将 Pomelo.EntityFrameworkCore.MySql 与 .NET Framework 4.x 一起使用吗?
- c# - 如何在单元测试项目中获取启动项目的路径?
- javascript - 在angularjs切换操作中单击按钮时选择和取消选择div
- yii - 在动作 Yii 1.1 之前将参数传递给调用的动作