我正在关注文档 here底部的示例代码如下所示
<!DOCTYPE html>
<html>
<head>
<title>JSSample</title>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"> </script>
</head>
<body>
<script type="text/javascript">
$(function() {
var params = {
// Request parameters
"returnFaceId": "true",
"returnFaceLandmarks": "false",
"returnFaceAttributes": "{age}",
};
$.ajax({
url: "https://api.projectoxford.ai/face/v1.0/detect?" + $.param(params),
beforeSend: function(xhrObj){
// Request headers
xhrObj.setRequestHeader("Content-Type","application/json");
xhrObj.setRequestHeader("Ocp-Apim-Subscription-Key","REDACTED");
},
type: "POST",
// Request body
data: "http://newsrescue.com/wp-content/uploads/2015/04/happy-person.jpg",
})
.done(function(data) {
alert("success");
})
.fail(function() {
alert("error");
});
});
</script>
</body>
</html>
但我不断收到错误代码 404 找不到资源。谁能告诉我我做错了什么?
最佳答案
快速检查 Postman表明你得到了一个错误的参数(不是 404)。
一些事情:
returnFaceAttributes
应该是"age"
(不是"{age}"
)data
需要一个参数名
试试这个(检查 data
更新):
<html>
<head>
<script src="https://code.jquery.com/jquery-2.1.4.js"></script>
<title>JSSample</title>
</head>
<body>
<script type="text/javascript">
$(function() {
var params = {
// Request parameters
"returnFaceId": "true",
"returnFaceLandmarks": "false",
"returnFaceAttributes": "age",
};
$.ajax({
url: "https://api.projectoxford.ai/face/v1.0/detect?" + $.param(params),
beforeSend: function(xhrObj){
// Request headers
xhrObj.setRequestHeader("Content-Type","application/json");
xhrObj.setRequestHeader("Ocp-Apim-Subscription-Key","e2c75ad5d44846d590ac7c2dcc2f210e");
},
type: "POST",
// Request body
data: '{ "url": "http://newsrescue.com/wp-content/uploads/2015/04/happy-person.jpg"}'
})
.done(function(data) {
console.log(data);
alert("success");
})
.fail(function() {
alert("error");
});
});
</script>
</body>
</html>
我创建了一个 jsbin以确保它有效(根据 Microsoft 的说法,她是 19.3 岁)。
最后一个重要注意事项。立即更改您的 Ocp-Apim-Subscription-Key
key !
关于javascript - 如何向 Microsoft Vision API 发送 ajax 请求?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37529482/