2017-07-10 8 views
0

私はこのメソッドを持っていますが、「ストレージアプリ」にログインしてimgをhtml imgに表示する必要がありますが、2回目の成功関数を解析する方法はわかりません。Ajaxで認証されたイメージにアクセス

PD:コンソールログを使用してその成功の方法に到達したことを確認しました。

setTimeout(function() { 
    $.ajax({ 
    contentType: 'application/json', 
    data: JSON.stringify({ 
     "username": "username", 
     "password": "password" 
    }), 
    dataType: "json", 
    processData: false, 
    type: 'POST', 
    url: pathStorage + "/api/login", 
    async: false, 

    complete: function(data) { 
     var response = $.parseJSON(data.responseText); 

     $.ajax({ 
     type: 'GET', 
     url: pathStorage + "/web-app/files/" + id + "_imagen.jpg", 
     headers: { 
      "Authorization": response.token_type + " " + response.access_token 
     }, 
     success: function(data) { 

      //this dont works 
      $('#idImg').prop('src', 'data:image/jpg;base64,' + data) 
     } 

     }) 
    } 

    }) 
}, 1000) 
+0

を残すfileapi.js を輸入しなければなりませんでしたか? –

+0

あなたの 'data'レスポンスには何がありますか?オブジェクトが –

+0

@ N.Ivanovの場合、適切なキーを呼び出す必要があるかもしれないので、データを見ることができません。このリクエストにpostmanを使用すると、応答はimgと表示されます。 –

答えて

0

返事をありがとう@Musaは、私は、IMGを設定するために管理が、私はここに私の実際のコードあなたがJavaScriptの約束を使用していないのはなぜ

setTimeout(function() { 
    $.ajax({ 
    contentType: 'application/json', 
    data: JSON.stringify({ 
     "username": "user", 
     "password": "password" 
     }), 
    dataType: "json", 
    processData: false, 
    type: 'POST', 
    url: sessionRutaStorage + "/api/login", 
    async: false, 

    complete: function (data) { 
     var response = $.parseJSON(data.responseText); 

     var xhr = new XMLHttpRequest() 
     xhr.open('GET', storagePath + "/web-app/files/" + id + "_imagen.jpg", true); 
     xhr.setRequestHeader("Authorization", response.token_type + " " + response.access_token) 
     xhr.onreadystatechange = function() { 
      if (this.readyState == 4 &&this.status == 200) { 

       var img=document.getElementById('imgInfo'); 
       var url = window.URL || window.webkitURL; 
       img.src = url.createObjectURL(this.response); 
       img.setAttribute("src",url.createObjectURL(this.response)) 
       } 
      }; 

     xhr.responseType = 'blob'; 
     xhr.send(); 

    } 

}) 
}, 1000) 
関連する問題