我无法使用Javascript查找Text Analytics 400错误请求错误问题的类似问题。 Javascript下面的简单代码返回错误。我已经验证发送的POST是有效的。我需要你的帮助。
var params = {
"documents": [
{
"language": "en",
"id": "1",
"text": "This is my first test. All is good"
},
{
"language": "en",
"id": "2",
"text": "This is my first test. All is not good"
},
{
"language": "en",
"id": "3",
"text": "Why is this not working as expected?"
},
{
"language": "en",
"id": "4",
"text": "You got to be kidding me like this"
},
{
"language": "en",
"id": "5",
"text": "I hope this will finally work. I hope it will"
}
]
}
$.ajax({
url: "https://westus.api.cognitive.microsoft.com/text/analytics/v2.0/sentiment?" + $.param(params),
beforeSend: function(xhrObj){
// Request headers
xhrObj.setRequestHeader("Content-Type","application/json");
xhrObj.setRequestHeader("Ocp-Apim-Subscription-Key","MY API KEY");
},
type: "POST",
// Request body
data: "{body}",
})
.done(function(data) {
console.log(data);
})
.fail(function() {
alert("error");
});
答案 0 :(得分:0)
@Redz, 看到这个小提琴实施。它可以很好地简单地替换你所说的" YOUR_KEY_HERE" :https://jsfiddle.net/expcc0f5/1/
以下是成功运作的代码:
var params = {
"documents": [
{
"language": "en",
"id": "1",
"text": "This is my first test. All is good"
},
{
"language": "en",
"id": "2",
"text": "This is my first test. All is not good"
},
{
"language": "en",
"id": "3",
"text": "Why is this not working as expected?"
},
{
"language": "en",
"id": "4",
"text": "You got to be kidding me like this"
},
{
"language": "en",
"id": "5",
"text": "I hope this will finally work. I hope it will"
}
]
};
$.ajax({
method: 'POST',
url: "https://westus.api.cognitive.microsoft.com/text/analytics/v2.0/sentiment",
headers:{
"Content-Type":"application/json",
"Ocp-Apim-Subscription-Key":"YOUR_KEY_HERE",
"Accept":"application/json"
},
data: JSON.stringify(params),
dataType: 'text',
})
.done(function(data) {
console.log('Here: ' + data);
$('#responseData').html(data);
})
.fail(function(data) {
alert("error" + JSON.stringify(data));
});
祝你好运。希望能听到它是怎么回事。