2017-11-26 9 views
0

I follwing JSの機能があります。Javascriptを - キャッチされないにReferenceError:コンソールが私のデータを印刷しながらazZkVUpgbGは、定義されていない、正常

function setOptions(fullName, userID, qObjID) { 
    document.getElementById("reportUserButt").innerHTML = "<a id='reportUserButt' href='javascript:reportUser(" + userID + ");'> <h5>Report @" + fullName + "<span style='opacity: 0.5'> -- " + userID + "</h5></a>"; 
} 

このFUNC呼び出します。だから、私は

// REPORT A USER --------------------------------------- 
function reportUser(userID) { 
    $('#optionsModal').modal('hide'); 

    console.log("userID: " + userID); 

    // Show loading modal 
    document.getElementById("loadingText").innerHTML = "Reporting User, please wait..."; 
    $('#loadingModal').modal('show'); 


    $.ajax({ 
      url:"report-user.php?userID=" + userID, 
      type: "GET", 

      success:function(data) { 
       var results = data.replace(/\s+/, ""); //remove any trailing white spaces from returned string 
       console.debug(results); 

       $('#loadingModal').modal('hide'); 

       alert("Thanks for reporting this user! We will check it out within 24h."); 

       // Reload page 
       setTimeout(function(){ 
        location.reload(); 
       }, 100); 

      // error 
      }, error: function (e) { alert(e);} 
     }); 
} 

reportUserButtは私のPHPページで "userID"という変数が表示されているので正しいが、そのhrefをクリックするとエラーが発生する:

Uncaught ReferenceError: azZkVUpgbG is not defined 

azZkVUpgbGは私が必要とするユーザーIDであるので、私は間違って何をやっていますか?

答えて

1

ユーザーID azZkVUpgbGは、関数に渡すとき、文字列です:

href='javascript:reportUser(" + userID + ")'; 

コードは次のようになります。

だから、
href='javascript:reportUser(azZkVUpgbG)'; 

、あなたが見ることができるように、あなたはどの引数azZkVUpgbGreportUserを呼び出しますではない文字列です。

ので、解決策は、引用符を追加することです:

href='javascript:reportUser(\"" + userID + "\");' 

は今、あなたのコードは

href='javascript:reportUser("azZkVUpgbG");' 

になり、あなたは関数に文字列を渡します。

+0

あなたは正しいです、ありがとうございます! ;) – cubycode

関連する問題