作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在研究 V4 MS Bot 框架,我想构建一个功能,例如,当用户开始输入问题时,机器人应该填充并给出确切的问题短语,以便用户可以单击由机器人。因此,减少了用户的努力并减少了出错的机会。
所以我在客户端编写一个函数(使用纯 JavaScript),它在按键时被调用。
我使用以下代码来构建该函数。
$( "[aria-label='Sendbox']" ).keypress(function() {
if($( "[aria-label='Sendbox']" )[0].defaultValue.length >3){
getquestion(this.value);
}
});
在函数内部,我想创建一个 REST API 调用并获取与用户输入的关键字相关的问题。
function getquestion(value)
{
var params = value;
$.ajax({
url: "https://westus.api.cognitive.microsoft.com/qnamaker/v4.0/knowledgebases/create?" + $.param(params),
beforeSend: function(xhrObj){
// Request headers
xhrObj.setRequestHeader("Content-Type","application/json");
xhrObj.setRequestHeader("Ocp-Apim-Subscription-Key","<key>");
},
type: "GET",
// Request body
//data: "{body}",
})
.done(function(data) {
alert("success");
})
.fail(function(data) {
alert("error");
});
}
使用此功能我只能访问我的知识库,但无法缩小查询与关键字相关的问题。
最佳答案
您可以尝试使用以下代码片段来请求 QnA maker
端点并从那里得到答案。
Jquery 中的正确请求格式:
$("#btnQnAMakerAnswer").click(function () {
var question = {
question: "will you marry me"
}
$.ajax({
type: "POST",
url: "https://YourEndPointURL/qnamaker/knowledgebases/eb895acb-e034-4f7c-asda7c-1955458ecec6/generateAnswer",
data: JSON.stringify(question),
beforeSend: function (xhr) {
xhr.setRequestHeader('Authorization','EndpointKey c44444_Your_Endpoint_Key_4556');
},
dataType: "json",
contentType: "application/json",
success: function (data) {
console.log(data);
console.log(data.answers[0].answer);
}
});
});
关于javascript - 如何在 Javascript 代码中使用 REST API 从 QnAMaker 获取问题和答案,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59852772/
我是一名优秀的程序员,十分优秀!