使用Ajax和Google翻译API翻译文本

时间:2018-12-19 23:40:31

标签: ajax api google-translate

当我单击html中的按钮时,我想执行此函数并进行ajax调用,但是似乎不推荐使用API​​网址,因为我在控制台中收到错误:Uncaught TypeError:无法读取属性'translatedText'为空

任何想法?谢谢

这是我的javascript函数:

function translateCaption() {
$.ajax({
    url: 'https://ajax.googleapis.com/ajax/services/language/translate',
    dataType: 'jsonp',
    data: {
        q: 'Hello world!',  // text to translate
        v: '1.0',
        langpair: 'en|es'
    },   // '|es' for auto-detect
    success: function (result) {
        alert(result.responseData.translatedText);
    },
    error: function (XMLHttpRequest, errorMsg, errorThrown) {
        alert(errorMsg);
    }
});
}

这是我的html:

<button onclick="translateCaption()" class="button-translate" type="button">Translate</button>

1 个答案:

答案 0 :(得分:1)

目前仅靠前端解决方案无法解决。 您的代码的响应(可以在浏览器的请求响应中看到)是:/ * callback * / jQuery22108465697200462694_1552511749760({“ responseData”:null,“ responseDetails”:“请使用Translate v2。请参见http://code.google.com/apis/language/translate/overview.html”,“ responseStatus “:403})

我建议看到https://cloud.google.com/translate/docs/translating-text包含使用不同编程语言(后端)的示例,并引用GitHub。