0

私の例では、 ユーザーが「はい」ボタンをクリックすると、会話テキストが返されます。しかし、私は出力から値を返すことを望んでいます。私のAJAXPostの例からの戻り値は現在 "alert (output.request.number)"からのものです。 作成方法コードに従う:WatsonでAPIコードのテキスト/リターン(JSON)を取得するにはどうすればよいですか?

インテント:#goodbyeと2つのエンティティ:@goodbye:yesとと。私のクライアント側がインテントを認識し、ユーザーが「はい」ボタンをクリックすると、は何かを返します

は私のJSON拡張(会話サービス)

{ 
     "output": { 
     "text": "You can finish the conversation? \n \n 
<button id=\"button-yes\" onclick=\"OneFunction();\">Yes</button> 
<button id=\"button-no\" onclick=\"OtherFunction();\">No</button>" 
     } 
    } 

私は、ユーザーがボタンをクリックするとワトソンの会話の流れで来てalert(output.request.number)のリターンでお願いします。

JSコード:

function OneFunction(firstParameter, secondParameter){ 
console.log(firstParameter); 
    $.ajax({ 
     type: 'POST', 
     dataType: 'json', 
     contentType: "application/json", 
     url: 'http://xxxxxxxxxxxxxxxxxxxxxxxx/request/create', 
     data: JSON.stringify({ 
      "dataOne":firstParameter, 
      "synchronize":false,    
      } 
     }), 
    success:function(output, input, response) { 
     console.log(output); 
    // alert(output.request.number); 
     var responseText = null; 
     var outputTest = {}; 
     outputTest = output.request.number; 
     var latestResponse = Api.getResponsePayload(); 
     // console.log(latestResponse); 
     var context = latestResponse.context; 
     Api.sendRequest = ("Yes", + outputTest); // THIS RETURN one number of request 
} 
+0

わからないが、その後それは、このために良いユースケースではありません。より良いアプローチは、この種の情報を 'context'または' output'フィールドに返すことです。 JSでのJSONの操作は簡単です。出力フィールドにアクセスするには、 'var outputField = latestResponse.output;'と書いてください。たとえば、ある場合はチェックします。属性 'alert'に' output'フィールドにテキストを入力します。そうであればJSのユーザにアラートを表示します。 –

+0

「警告」ではなく、同じ会話に戻ってきたい。ユーザーが「はい」をクリックすると、このアクションが実行され、会話内で応答として受け取った値が返されます。 –

+1

したがって、「はい」をクリックしたことをワトソンの会話に伝えたいとします。会話に "はい"のテキスト入力を送信するだけで、会話ではダイアログノードで "はい"を処理できます。 JSONリクエストの 'input'部分に特殊変数を設定することで、この特別な種類の入力を処理することもできます。ダイアログノードでこれを確認できますが、この特定のユースケースについては、単に「クリック」をサービスへの「はい」テキスト入力... –

答えて

0

私はそれと仕事をしようと、エラーがちょうど, ("Yes" + outputTest);間しかし、あなたの情報は、これに不可欠だったが、おかげで、@Michalビダと@timd 。 :私は完全にそれを得た場合、それは、テキストレスポンスの中であなたはワトソンは、スクリプトまたはメソッド呼び出しを返したい場合は

success:function(output, input, response) { 
     console.log(output); 
    // alert(output.request.number); 
     var responseText = null; 
     var outputTest = {}; 
     outputTest = output.request.number; 
     var latestResponse = Api.getResponsePayload(); 
     // console.log(latestResponse); 
     var context = latestResponse.context; 
     Api.sendRequest = ("Yes" + outputTest); // THIS RETURN one number of request 
関連する問題