首页 > 解决方案 > 尝试从 Javascript 代码调用谷歌翻译器 api,得到 403 错误

问题描述

我想用 Javascript 构建一个简单的网站,加载时会用中文打印“你好”。

为此,我试图使用谷歌翻译调用,如下所示:

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<!-- bootstrap.min.css + some js related files -->

<body onload="myFunction()">
</body>
    </head>
    
    <script>
    
        function myFunction()
        {
            //alert("hello");

            var ourRequest = new XMLHttpRequest();
        var API;
        API = 'https://translate.google.co.in/?sl=auto&tl=zh-CN&text=hello&op=translate';   
        
        //alert(API);
        ourRequest.onreadystatechange = function() 
            {
                    if (this.readyState == 4 && this.status == 200)
                         {
alert(ourRequest.responseText);                     
                        }
            };
        ourRequest.open('GET', API,false);
        ourRequest.send();
            
            
        }
    
    </script>  
    
    
</html>
    

当我尝试运行它时,我收到以下错误:

try.html:43 获取https://translate.google.co.in/?sl=auto&tl=zh-CN&text=hello&op=translate 403

似乎谷歌服务器拒绝了我的电话。有人可以帮我解决这个问题。

问候

标签: javascripthttp-status-code-403

解决方案


出于安全原因,现代浏览器不允许跨域访问。请参阅CORS

这意味着发出请求的网页和它尝试加载的网页都必须位于同一台服务器上。

您必须使用Google 的 Cloud Translation API


推荐阅读