2017-11-18 181 views
0

我正在尝试使用正确的Subscription-Key为azure样本进行人脸识别以下代码片段。我得到了错误的请求400 - 任何人都可以帮助我如何发送请求正文为这个Ajax调用工作。Azure Face API标识 -​​ 错误请求400

<!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 
     }; 

     $.ajax({ 
      url: "https://api.cognitive.azure.cn/face/v1.0/identify?" + $.param(params), 
      beforeSend: function(xhrObj){ 
       // Request headers 
       xhrObj.setRequestHeader("Content-Type","application/json"); 
       xhrObj.setRequestHeader("Ocp-Apim-Subscription-Key","MY_ACCESS_KEY"); 
      }, 
      type: "POST", 
      // Request body 
      data: "{body}", 
     }) 
     .done(function(data) { 
      alert("success"); 
     }) 
     .fail(function() { 
      alert("error"); 
     }); 
    }); 
</script> 
</body> 
</html> 
+0

你不应该提供您的私人公共:) OCP-APIM-订阅的重点。您可能希望使用某些字符串(如MY_ACCESS_KEY)删除该字符串。 – Ronak

回答

0

这里的网址似乎很糟糕。两件事:1)您需要在api.cognitive.microsoft.com和2)之前追加位置.cn应该是.com。您的网址可能是这样的,根据您的位置:

url: "https://westus.api.cognitive.azure.com/face/v1.0/identify?" 

多个位置,详情请看这里:https://eastasia.dev.cognitive.microsoft.com/docs/services/563879b61984550e40cbbe8d/operations/563879b61984550f30395239

+0

我需要知道请求中的含义。数据:“{body}”, – user3008819

+0

它只需要JSON响应的“body”部分,并删除可能包含敏感信息(例如访问密钥/可选客户端ID等)的标头信息。您可以将此信息用于控制台/其他输出而不用担心任何标题信息。 – Ronak