私の例では、 ユーザーが「はい」ボタンをクリックすると、会話テキストが返されます。しかし、私は出力から値を返すことを望んでいます。私のAJAX
Post
の例からの戻り値は現在 "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
}
わからないが、その後それは、このために良いユースケースではありません。より良いアプローチは、この種の情報を 'context'または' output'フィールドに返すことです。 JSでのJSONの操作は簡単です。出力フィールドにアクセスするには、 'var outputField = latestResponse.output;'と書いてください。たとえば、ある場合はチェックします。属性 'alert'に' output'フィールドにテキストを入力します。そうであればJSのユーザにアラートを表示します。 –
「警告」ではなく、同じ会話に戻ってきたい。ユーザーが「はい」をクリックすると、このアクションが実行され、会話内で応答として受け取った値が返されます。 –
したがって、「はい」をクリックしたことをワトソンの会話に伝えたいとします。会話に "はい"のテキスト入力を送信するだけで、会話ではダイアログノードで "はい"を処理できます。 JSONリクエストの 'input'部分に特殊変数を設定することで、この特別な種類の入力を処理することもできます。ダイアログノードでこれを確認できますが、この特定のユースケースについては、単に「クリック」をサービスへの「はい」テキスト入力... –