2016-11-06 4 views
-3

Pourquoi la première fonction fonctionne-t-elle et pas la seconde? Les deux fonctions sont dans la même instruction de script. Lorsque j'exécute la deuxième fonction sur ma page Web, elle ne dépasse même pas l'instruction ajax mais je ne suis pas sûr du problème réel car j'utilise le même modèle que la première fonction. Aussi s'il vous plaît gardez à l'esprit que je suis très nouveau à l'API Java.J'ai deux fonctions très similaires mais une seule fonctionne

function summonerLookUp() { 
SUMMONER_NAME = $("#userName").val(); 

if (SUMMONER_NAME !== "") { 

    $.ajax({ 
     url: 'https://euw.api.pvp.net/api/lol/euw/v1.4/summoner/by-name/' + SUMMONER_NAME + '?api_key=RGAPI-F6099CCD-E674-478D-B9BF-2090B52A116C', 
     type: 'GET', 
     dataType: 'json', 
     data: { 

     }, 
     success: function (json) { 
      SUMMONER_NAME_NOSPACES = SUMMONER_NAME.replace(" ", ""); 

      SUMMONER_NAME_NOSPACES = SUMMONER_NAME_NOSPACES.toLowerCase().trim(); 

      summonerLevel = json[SUMMONER_NAME_NOSPACES].summonerLevel; 
      summonerID = json[SUMMONER_NAME_NOSPACES].id; 


      document.getElementById("sLevel").innerHTML = summonerLevel; 
      document.getElementById("sID").innerHTML = summonerID; 

      sumName = json[SUMMONER_NAME_NOSPACES].name; 
      sumID = json[SUMMONER_NAME_NOSPACES].id 
     }, 
     error: function (XMLHttpRequest, textStatus, errorThrown) { 
      alert("error getting Summoner data!"); 
     } 
    }); 
} else {} 

}

function getMasteryData() { 
SUMMONER_NAME = $("#userName").val(); 
sumID = string(sumID); 


if (SUMMONER_NAME !== "") { 

    $.ajax({ 
     url: 'https://euw.api.pvp.net/championmastery/location/EUW1/player/' + sumID + '/champions?api_key=RGAPI-F6099CCD-E674-478D-B9BF-2090B52A116C', 
     type: 'GET', 
     dataType: 'json', 
     data: { 

     }, 
     success: function (json) { 

      bestchampid = json[0].championId; 
      document.getElementById("bcID").innerHTML = bestchampid; 
     }, 
     error: function (XMLHttpRequest, textStatus, errorThrown) { 
      alert("error getting Summoner data for the ID!"); 
     } 
    }); 
} else {} 

}

Désolé pour la mauvaise mise en forme, mais je l'espère, vous pouvez le comprendre.

+0

vous devez passer "sumID" dans la deuxième fonction. Est-ce une variable globale? –

+4

Ouvrez la console Web de votre navigateur. Observez l'erreur ici: 'Uncaught ReferenceError: string n'est pas défini' Il n'y a pas de ficntion' string' intégrée dans JavaScript. Il y a une fonction 'String', bien que l'on ne sache pas pourquoi vous voudriez l'utiliser ici, mais cela dépend de ce que' sumID' est. –

+0

vous pouvez utiliser toString() si vous voulez convertir –

Répondre

0

Vous devez supprimer cette ligne de la deuxième fonction

sumID = string(sumID);

car il n'y a pas de fonction par défaut chaîne nommée. Utilisez plutôt String().

+0

La valeur est définie dans la première fonction @ 'sumID = json [SUMMONER_NAME_NOSPACES] .id' – SeinopSys

+0

@SeinopSys: Lire à nouveau la réponse. void n'a pas dit 'sumID' n'a pas été défini. –

+0

Vous avez raison. Je voulais souligner qu'il devrait probablement offrir une autre méthode pour le convertir en chaîne, mais cela ne semble en effet pas nécessaire. – SeinopSys