谷歌翻译支持 CORS 吗?

发布于 2024-10-31 00:13:38 字数 350 浏览 0 评论 0原文

是否可以使用

  • Javascript
  • POST
  • 跨源资源共享 (CORS)

访问 google-translate (API v2)使用 GET 很容易做到这一点,但 URL 限制为 2k 个字符(更像是 2072)。

要翻译的字符串使用encodeURIComponent 进行编码。这意味着字符串的实际长度小于 360 个字符(希腊语)。看来我可以使用 POST 从 360 ch 变为 5.000 ch,这是一个很大的进步。

我知道我可以调用我的服务器并让它调用 google-translate,但如果 CORS 解决方案可行的话,这似乎有点矫枉过正。

Is it possible to access google-translate (API v2) using

  • Javascript
  • POST
  • Cross-Origin Resource Sharing (CORS)

It is quite easy to do it with GET, but the URL is limited to 2k characters (more like 2072).

The string to be translated is encoded with encodeURIComponent. That means the actual length of the string is less than 360 characters (greek). It seems that I can go from 360 ch to 5.000 ch using POST that is quite an improvement.

I know that I can call my server and have it call google-translate but it seems to be overkill if a CORS solution is feasible.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

|煩躁 2024-11-07 00:13:38

我想你可以。 文档指出:

您还可以使用 POST 来调用
如果您想在一个中发送更多数据,则使用API​​​​
单个请求。中的 q 参数
POST 正文必须小于 5K
人物。要使用 POST,您必须使用
X-HTTP-Method-Override 标头
告诉 Translate API 处理
作为 GET 请求(使用
X-HTTP-Method-Override:GET)。

由于该 API 还支持回调参数,你可以创建一个JSONP请求,这意味着你可以跨域获取它。

你不能用 jQuery 的 ajax 方法发出请求吗使用 dataType: "jsonp"type: "POST" 进行请求?

请注意,我还没有测试过这个。

I think you can. The documentation states that:

You can also use POST to invoke the
API if you want to send more data in a
single request. The q parameter in
the POST body must be less than 5K
characters. To use POST, you must use
the X-HTTP-Method-Override header to
tell the Translate API to treat the
request as a GET (use
X-HTTP-Method-Override: GET).

Since that API also supports a callback parameter, you can create a JSONP request, which means you can get it cross-domain.

Can't you make a request with jQuery’s ajax method make a request with dataType: "jsonp" and type: "POST"?

Mind you, I haven’t tested this.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文