2017-03-07 3 views
1

私は変数を最後に入れてJSON APIを持っています。変数が "有効な"ユーザー名(アカウントが実際に存在する場合)の場合、その情報を返しますが、アカウントが有効でない場合/存在しない、それは{返す}と私はそれでAPIにアクセスしていますウェブサイトのコンソールでonreadystatechangeがJavascriptでエラーを返すかどうかを確認する方法?

Uncaught TypeError: Cannot read property 'steamID' of undefined 
    at XMLHttpRequest.profileCheck.onreadystatechange 

は、だから私はそのエラーがで返された場合、私は確認することができますどのように思っていたというエラーが表示さif文?例えばif(typeError === true) { do code } else { something else};

ような何かここで私は(それがすべてでは重要だ場合)APIにアクセスするために使用しているコードです:

function isID64() { 

    var id64 = document.getElementById("username").value; 

    var realID64; 

    var profileCheck = new XMLHttpRequest; 
    profileCheck.open("GET", "<api im using>" + id64); 

    profileCheck.onreadystatechange = function() { 
     if (profileCheck.readyState === 4) { 

      var profileCheckResponse = JSON.parse(profileCheck.responseText); 

      realID64 = profileCheckResponse.playerstats.steamID; 
      ... 

     } 
    }; 

    profileCheck.send(); 

} 

すべてのヘルプは高く評価され:)

答えて

0

を私はこのタイプのエラーを考えますバックエンド(PHPなど)からデータを送信するためにJSONファイルを使用しているからです。ユーザーが存在しない場合は、nullまたは文字列を送信します。フロントエンドでJSON.parseステートメント期待json変数です。あなたのバックエンドで次のことをしてください。

if(userexist()) //データをjson変数に保存します。 else // json変数に「User Not exist」を保存します。

はその後、フロントエンドからあなたのコードを変更する(Javascriptを)

if (profileCheck.readyState === 4) 
{ 
var profileCheckResponse = JSON.parse(profileCheck.responseText); 
if(profileCheckResponse[0]=="User Not Exist"; 
//Display Error 
    else 
    realID64 = profileCheckResponse.playerstats.steamID; 
      ... 
} 
関連する問題