0

このGoogle Translate API の Get Startedから次のコードを使用します

  <head>
    <title>Translate API Example</title>
  </head>
<body>
  <div id="sourceText">Hello world</div>
  <div id="translation"></div>
  <script>
  function translateText(response) {
    // ERROR SHOW HERE
    document.getElementById("translation").innerHTML += "<br>" + response.data.translations[0].translatedText;
  }
  </script>
  <script>
    var newScript = document.createElement('script');
    newScript.type = 'text/javascript';
    var sourceText = escape(document.getElementById("sourceText").innerHTML);

    var source = 'https://www.googleapis.com/language/translate/v2?key=MY-KEY&source=en&target=de&callback=translateText&q=' + sourceText;
    newScript.src = source;

    // When we add this script to the head, the request is sent off.
    document.getElementsByTagName('head')[0].appendChild(newScript);
  </script>
</body>

そして、「TypeError:未定義のプロパティ '翻訳'を読み取れません」というエラーが表示されます

このエラーを修正する方法を教えてください。

ありがとう、

4

1 に答える 1

0

このエラーを修正する方法を教えてくれる人からメッセージを受け取りました。

私はあなたのエラーを再現できたと思いますが、1 回だけです。この例は、さまざまな翻訳言語などで機能します。Chrome 開発者コンソールを実行する前に、一度だけエラーを見たと思いました。translateText() コールバックに console.log(response) を追加しようとしましたが、それでもバグは再び表示されませんでした。サンプルの // ERROR SHOW HERE でログに記録できる内容を確認してください。

もちろん、ドキュメントの例は非常に壊れやすいコードです — データ メンバーが存在せず、エラーのみの状況があると想像できます。例えば:

// API callback
translateText({
 "error": {
  "errors": [
   {
    "domain": "global",
    "reason": "invalid",
    "message": "Invalid Value",
    "debugInfo": "Target language is not set to a valid language code:…\n"
   }
  ],
  "code": 400,
  "message": "Invalid Value"
 }
}
);

そして、それは本当に良いです、

以下のコードのように「console.log(response)」を追加する必要があります。

<script>
function translateText(response) {
console.log(response);
document.getElementById("translation").innerHTML += "<br>" + response.data.translations[0].translatedText;

}

ありがとう、

于 2013-08-14T09:39:01.300 に答える