2017-12-07 33 views
-1

私は、リクエストを行うためにajaxで試しているjavascriptにはかなり新しいです。私は応答からパスワードを取得しようとしています。HTTPリクエストをajaxで取得する

Javascriptコードは:

$(document).ready(function() { 
    $("#LoginUser").click(function() { 
     $.ajax({ 
      url: 'http://website/api/user/Mikkel1337', 
      dataType: 'json', 
      type: 'GET', 
      contentType: 'application/json', 

      error: function() { 
       alert("An error had occurred"); 
      }, 
      success: function (data) { 
       var jsonStr = JSON.stringify(data); 

       alert(jsonStr['password']); 
      } 
     }); 
    }); 
}) 

レスポンスJSONコードは次のようになります。

{"userId":16,"firstName":"mojn","lastName":"mojn","email":"[email protected]","accountName":"Mikkel1337","password":"123","userRoleId":1,"active":false,"userRole":null,"competetion":[],"judge":[],"team":[]} 

イムは、私が唯一の誤差関数を取得し、これを実行しています。任意の提案や解決策は高く評価されています:)

+1

コンソールの[ネットワーク]タブをチェックすると、要求から返されたエラーを確認できるはずです。それはあなたが問題を診断するのに役立ちます –

+0

本当にJSONが回答に含まれていましたか?どうして知っていますか?あなたのエラー機能はそれをあなたに伝えませんでした。 –

+0

私はクロームでコンソールを開いているとき、これは唯一のエラーメッセージです。 "[違反]" load 'handler took 2006ms "です。 – Shadow5353

答えて

0

基本的にJSONを文字列に変換し、オブジェクトとして文字列にアクセスしようとしています。データを文字列化していない、とロングコードを使用して、なぜJSONのために、あなたのコードは次のようになりますしてください:

$(document).ready(function() { 
    $("#LoginUser").click(function() { 
     $.getJSON("http://website/api/user/Mikkel1337", function(data) { 
      // do something on success 
      alert(data.password); 
     }); 
    }); 
}); 

乾杯!以下のように機能(jqXHR、例外):

+0

あなたはバグを見つけましたが....それはOPが尋ねたのと同じバグではありません。成功関数は呼び出されていません。 –

+0

これは、AJAXリクエストが送信されたページに何か問題があることを意味します。 –

+0

ボタンを使用してコードを実行すると、コードは機能しますが、フォームを送信してから実行しようとすると、「エラーが発生しました」というアラートが表示されます。 – Shadow5353

0

は、あなたがエラーのための2つの引数を渡す必要があるデータの単純な使用のJSON.stringifyに必要

$(document).ready(function() { 
$("#LoginUser").click(function() { 
    $.ajax({ 
     url: 'http://website/api/user/Mikkel1337', 
     dataType: 'json', 
     type: 'GET', 
     contentType: 'application/json', 

     error: function() { 
      alert("An error had occurred"); 
     }, 
     success: function (data) { 


      alert(data.password); 
     } 
    }); 
}); 

})

0

いけません。

あなたのAPIが適切な方法で一度チェックしてください。あなたのAPIが適切な結果を表示していない可能性があります。そのAPIからデータが得られないため、エラーメッセージが表示されることがあります。

$(document).ready(function() { 
      $("#LoginUser").click(function() {   
      $.ajax({ 
       url: 'http://website/api/user/Mikkel1337', 
       dataType: 'json', 
       type: 'GET', 
       contentType: 'application/json', 
       success: function (data) { 
        var jsonStr = JSON.stringify(data); 
        //also try this way to get JSON data: 
        // var jsonStr =JSON.parse(data); 
        alert(jsonStr['password']); 
       }, 
       error: function (jqXHR, exception) { 
         alert("An error had occurred"); 
       }, 
      }); 
     }); 
    }); 
関連する問題