【发布时间】:2018-03-01 20:45:56
【问题描述】:
我正在使用 JS 为 Micosoft QnA Maker API 发送一个 POST 请求。但它返回一个带有错误资源未找到的 JSON 文件
{ "error": { "code": "ResourceNotFound", "message": "The requested resource was not found." } }
虽然我根据 API 所做的一切都是正确的,但仍然遇到同样的错误。
我在JS中使用的代码如下图:
<script type="text/javascript">
$(function() {
var params = {
"question": "is qna maker free?",
"top": 3
};
$.ajax({
url: "https://westus.api.cognitive.microsoft.com/qnamaker/v2.0/knowledgebases/XXXX/generateAnswer?" + $.param(params),
beforeSend: function(xhrObj){
// Request headers
xhrObj.setRequestHeader("Content-Type","application/json");
xhrObj.setRequestHeader("Ocp-Apim-Subscription-Key","XXXX");
},
type: "POST",
// Request body
data: "{body}",
})
.done(function(data) {
alert("success");
})
.fail(function() {
alert("error");
});
});
此代码返回 alert("error") 并在控制台中显示以下消息:
westus.api.cognitive.microsoft.com/qnamaker/v2.0/knowledgebases/XXXX/generateAnswer?question=is+qna+maker+free%3F&top=3:1 POST https://westus.api.cognitive.microsoft.com/qnamaker/v2.0/knowledgebases/XXXX/generateAnswer?question=is+qna+maker+free%3F&top=3 400 (Bad Request)
我指的是这个link
我看到响应 400 说“未指定参数问题”。但我已经指定了这个问题。 我的代码有什么问题?我很确定我的代码中一定有问题。
"question": "is qna maker free?",
"top": 3
当我访问这个link时
它还显示带有错误的相同 JSON 文件。
【问题讨论】:
-
在你的 ajax 调用中添加 dataType: "json"
-
问题还是没有解决。或者你能提一下怎么做吗? @Liquidchrome
-
您有正确的知识库 ID 吗?我不认为 XXXX 符合条件
-
@Liquidchrome 我已经使用 XXXX 隐藏了 id。
标签: javascript json api azure microsoft-cognitive