Pergunta

Eu tenho construído um objeto em Javascript no Google Apps Script engine e cada vez que eu executar o meu script eu recebo um erro de referência dizendo: uName não está definido.

Aqui é o relivant código:

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;

De acordo com todas as fontes que eu tenha encontrado, eu não deveria usar a palavra-chave var, e quando faço o que lança outros erros.

O que poderia estar acontecendo?

Obrigado

Foi útil?

Solução

Bem, sim, a variável uName não definidos, no trecho que você postou.Nem o dQuery ou execQuery, ou dFeilds (ortografia!).Eles estão vindo de outro código que você ainda não nos mostrou?

Há um propriedade this.uName, mas propriedades do objeto são uma coisa completamente diferente de variáveis em JavaScript.Ao contrário de Java, eles não compartilham um espaço de nome.

Além disso, você precisa URL-codificar parâmetros.ex.:

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

Outras dicas

Não tenho certeza do que você está tentando fazer, mas não vejo sua função recebendo esses parâmetros:

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;
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top