我正在尝试构建一个应该使用Microsoft Azures Cognitve Services Emotion API的Web应用程序。我使用 JavaScript (jQuery( 向我分配的端点服务器发送 AJAX 请求。这是我的尝试:
<!DOCTYPE html>
<html>
<head>
<title>JSSample</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script>
</head>
<h2>Face Rectangle</h2>
<ul id="faceRectangle">
</ul>
<h2>Emotions</h2>
<ul id="scores">
</ul>
<body>
<script type="text/javascript">
$(function() {
var params = { };
$.ajax({
url: "https://westus.api.cognitive.microsoft.com/emotion/v1.0?" + $.param(params),
beforeSend: function(xhrObj){
xhrObj.setRequestHeader("Content-Type","application/json");
xhrObj.setRequestHeader("Ocp-Apim-Subscription-Key","<key>");
},
type: "POST",
data: '{"url": "<some picture's URL>"}',
}).done(function(data) {
var faceRectangle = data[0].faceRectangle;
var faceRectangleList = $('#faceRectangle');
for (var prop in faceRectangle) {
faceRectangleList.append("<li> " + prop + ": " + faceRectangle[prop] + "</li>");
}
var scores = data[0].scores;
var scoresList = $('#scores');
for(var prop in scores) {
scoresList.append("<li> " + prop + ": " + scores[prop] + "</li>")
}
}).fail(function(err) {
alert("Error: " + JSON.stringify(err));
});
});
</script>
</body>
</html>
来自服务器的确切错误响应是:
错误: {"readyState":4,"responseText":"{ \"error\": { \"code\": \"ResourceNotFound", \"message\": \"找不到资源。 } }","status":404,"statusText":"找不到资源"}
显然,服务器无法回答我的请求。有人可以解释服务器的错误响应或看到我的代码中的缺陷吗?
根据官方文档,情感 API 的请求 URL 应该是:
https://westus.api.cognitive.microsoft.com/emotion/v1.0/recognize