从HTML捕获文本并将其发送到包含watson API的.js

时间:2018-03-21 14:05:51

标签: javascript html watson

我正在玩IBM watson一点点。但由于我是HTML和JavaScript的新手,我面临着一些问题...... 这个想法是将文本移交给沃森。沃森回应得很好。但不幸的是,我不知道如何向文本发送文本和用于处理文本的HTML文件。我已经尝试了几件事,但迄今为止没有任何工作。 firefox中的开发人员工具告诉我,submitData未定义。 其中我试图用“document.getElementById(”myText“)。value;”来捕获数据。“ ......我现在很迷茫,我找不到答案。

我非常感谢任何帮助!

干杯, 丹尼尔

var submitData = function() {
  var ToneAnalyzerV3 = require('watson-developer-cloud/tone-analyzer/v3');
  var toneAnalyzer = new ToneAnalyzerV3({
    username: 'XXXXXXXXX',
    password: 'XXXXXXXXX',
    version: '2016-05-19',
    url: 'https://gateway.watsonplatform.net/tone-analyzer/api/'
  });
  toneAnalyzer.tone({
      tone_input: 'You say hello and I say goodbye', //new
      content_type: 'text/plain'
    },
    function(err, tone) {
      if (err) {
        console.log(err);
      } else {
        console.log(JSON.stringify(tone, null, 2));
      }
    }
  );
}
<div class="container">
  <div class="form-group">
    <label for="myText">Sumbit your examplar response:</label>
    <textarea class="form-control" rows="5" id="myText"></textarea>
    <button type="button" class="btn btn-primary" onclick="submitData()">Submit</button>
  </div>
</div>
<!-- /.container -->

1 个答案:

答案 0 :(得分:0)

这里需要注意的一些事项:

您似乎在浏览器中尝试使用require,您应该使用Browserify之类的内容。

您也可以考虑将require语句移到函数范围之外,这样每次函数运行时都不会重新导入依赖项。

您可以使用document.getElementById('myText').value

捕获输入

此外,最好将脚本标记放在head元素中或文档body元素的末尾。

示例

<!DOCTYPE html>
<html lang="en">

<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
</head>

<body>
  <div class="container">

    <div class="form-group">
      <label for="myText">Sumbit your examplar response:</label>
      <textarea class="form-control" rows="5" id="myText"></textarea>
      <button type="button" class="btn btn-primary" onclick="submitData()">Submit</button>

    </div>

  </div>
  <!-- /.container -->
  <script type="text/javascript">
    var ToneAnalyzerV3 = require('watson-developer-cloud/tone-analyzer/v3');

    var submitData = function () {

      var toneAnalyzer = new ToneAnalyzerV3({
        username: 'XXXXXXXXX',
        password: 'XXXXXXXXX',
        version: '2016-05-19',
        url: 'https://gateway.watsonplatform.net/tone-analyzer/api/'
      });

      toneAnalyzer.tone({
        tone_input: document.getElementById('myText').value,  //new
        content_type: 'text/plain'
      },
        function (err, tone) {
          if (err) {
            console.log(err);
          } else {
            console.log(JSON.stringify(tone, null, 2));
          }
        }
      );
    };  
  </script>
</body>

</html>