如何获取textOperations并获取结果?

时间:2017-08-14 17:51:00

标签: javascript json face-recognition microsoft-cognitive

我需要执行"发布" 来获取 textOperations 并使用此收到的值来执行"获取& #34; 并返回结果。

我正在做"发布" 但是我在console.log()中没有得到任何内容,我如何得到" id" 已收到并在" Get"返回结果?

API名称为:

  

Microsoft Face API

     

我的代码:

function HandWriteenTextAPI(){

  // CHAVE DE INSCRIÇÃO DA API.
  var API_KEY = "";

  // Deve-se utilizar a mesma região em que a chave de escrição da API está
  // NOTA: As chaves de inscrições de testes são geradas na região "Westcentralus".
  var uriBase = "https://westcentralus.api.cognitive.microsoft.com/vision/v1.0/recognizeText?";

  // Solicitar Parâmetros de Retorno do JSON.
  var params = {
    "handwriting": "true"
  };

  // MOSTRA A IMAGEM RECEBIDA DA URL
  var sourceImageUrl = document.getElementById("inputURLImage").value;
  document.querySelector("#imageReceived").src = sourceImageUrl;

  // Executa a chamada da API RESTFULL via AJAX.
  $.ajax({

    // Utiliza a uriBase para retornar os valores dos Parâmetros
    url: uriBase + $.param(params),

    // Solicita os Headers
    beforeSend: function(xhrObj){
      xhrObj.setRequestHeader("Content-Type","application/json");
      xhrObj.setRequestHeader("Ocp-Apim-Subscription-Key", API_KEY);
    },

    // Tipo do AJAX
    type: "POST",

    // Solicita o Body
    data: '{"url": ' + '"' + sourceImageUrl + '"}',
  })

  .done(function(data) {
    // Recebe o JSON e transforma em um Objeto
    var objJSON = JSON.parse(JSON.stringify(data, null, 2));
    console.log(objJSON);



  })
  .fail(function(jqXHR, textStatus, errorThrown) {
    // Mostra as mensagens de Erro.
    var errorString = (errorThrown === "") ? "Error. " : errorThrown + " (" + jqXHR.status + "): ";
    errorString += (jqXHR.responseText === "") ? "" : jQuery.parseJSON(jqXHR.responseText).message;
    alert(errorString);
  });

};

1 个答案:

答案 0 :(得分:0)

成功时,POST请求以HTTP 202响应,HTTP 202通常不包含响应主体。该URL包含在Operation-Location HTTP标头中。以下是解析它的方法:

  .done(function(data, textStatus, jqXHR) {
    // Recebe o JSON e transforma em um Objeto
    if (jqXHR.status == 202) {
      console.log(jqXHR.getResponseHeader('Operation-Location'))
    }
  })