Domanda

Ho costruito un oggetto in Javascript sul motore di Google Apps Script e ogni volta che ho eseguito il mio script ricevo un errore di riferimento dicendo uname non è definito.

Ecco il codice 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;

Secondo tutte le fonti che ho trovato, non dovrei avere bisogno di utilizzare la parola chiave var, e quando lo faccio includo che, si getta altri errori.

Che cosa potrebbe essere in corso?

Grazie

È stato utile?

Soluzione

Be ', sì, il uName variabile non è definito, nel frammento che avete inviato. Né di dQuery o execQuery, o dFeilds (ortografia!). Stanno venendo altro codice che non ci avete mostrato?

C'è un proprietà this.uName, ma le proprietà degli oggetti sono una cosa completamente diversa a variabili in JavaScript. A differenza di Java, non condividono uno spazio dei nomi.

Inoltre, è necessario ai parametri di codifica URL. ad esempio:.

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

Altri suggerimenti

Non sono sicuro di quello che si sta cercando di fare, ma non vedo la vostra funzione di ricezione quei parametri:

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;
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top