当我单击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>
答案 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。