Question

J'ai construit un objet en Javascript sur le moteur de script Google Apps et chaque fois que je lance mon script, je reçois une erreur de référence disant UNAME n'est pas défini.

Voici le code relivant:

function DataSet()
{
  this.uName = "";
  this.dField = "";
  this.qUrl = "http://api.bfbcs.com/api/pc?players="+uName+"&fields="+dFeilds;
  this.data = "";

  this.dQuery = dQuery;
  this.execQuery = execQuery;

Selon toutes les sources que j'ai trouvé, je ne devrais pas avoir besoin d'utiliser le mot-clé var, et quand je ne comprends cela, il jette d'autres erreurs.

Que pourrait-on se passe?

Merci

Était-ce utile?

La solution

Eh bien, oui, la uName variable ne sont pas défini, dans l'extrait que vous avez publié. Ni les environs dQuery ou execQuery, ou dFeilds (orthographe!). Ils viennent d'un autre code que vous ne nous avez pas montré?

Il y a un propriété this.uName, mais les propriétés de l'objet sont une chose complètement différente de variables JavaScript. Contrairement à Java, ils ne partagent pas un espace de noms.

, vous avez besoin des paramètres encode URL. par exemple:.

this.qUrl = "http://api.bfbcs.com/api/pc?players="+encodeURIComponent(this.uName)+"&fields="+encodeURIComponent(this.dField);

Autres conseils

Je ne sais pas ce que vous essayez de faire, mais je ne vois pas votre fonction de réception de ces paramètres:

function DataSet(uName,dFeilds,dQuery,execQuery)
{
  this.uName = "";
  this.dFeild = "";
  this.qUrl = "http://api.bfbcs.com/api/pc?players="+uName+"&fields="+dFeilds;
  this.data = "";

  this.dQuery = dQuery;
  this.execQuery = execQuery;
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top