mi sto imbattendo in alcuni problemi nelle azioni Javascript Server.
Il primo era un problema legato all'utilizzo dell'oggetto utils (che non veniva riconosciuto), che ho risolto passando dalla versione 3.2.0 alla versione 3.3.1.
Ora il problema si è spostato più avanti, ovvero riesco ad utilizzare l'oggetto utils ed in particolare lo utilizzo per eseguire una query della quale vorrei elaborare il risultato. Quindi faccio:
L'oggetto rows dovrebbe essere in formato JSON (come da documentazione), ma così non è. L'oggetto è in realtà una stringa in formato JSON. Ho pensato quindi di convertirla utilizzando il metodo nativo Javascript JSON.parse:
var jsonRes = JSON.parse(rows);
ma ricevo un errore di questo tipo:
Error:
sun.org.mozilla.javascript.EcmaError: ReferenceError: "JSON" is not defined.'
Si tratta di un bug? Se sì, c'è un modo per aggirarlo?
Grazie mille.
Mauro
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Ho provato ad utilizzare eval, ma così facendo sembra che l'azione Javasccript Server non venga nemmeno più invocata. Nel file di log, non vedo più i miei log nè quelli della query che dovrebbe essere eseguita, ma non ci sono nemmeno errori o stacktrace di eccezioni.
L'unica cosa che ho notato è un warning che mi dà 4ws in corrsipondenza della riga dove utilizzo eval:
"eval can be harmful"
If you would like to refer to this comment somewhere else in this project, copy and paste the following link:
Ciao a tutti,
mi sto imbattendo in alcuni problemi nelle azioni Javascript Server.
Il primo era un problema legato all'utilizzo dell'oggetto utils (che non veniva riconosciuto), che ho risolto passando dalla versione 3.2.0 alla versione 3.3.1.
Ora il problema si è spostato più avanti, ovvero riesco ad utilizzare l'oggetto utils ed in particolare lo utilizzo per eseguire una query della quale vorrei elaborare il risultato. Quindi faccio:
var rows = utils.executeQuery(sql, null, false, true,
userInfo.companyId,
userInfo.siteId,
userInfo.siteId,
userInfo.username,
userInfo.languageId);
L'oggetto rows dovrebbe essere in formato JSON (come da documentazione), ma così non è. L'oggetto è in realtà una stringa in formato JSON. Ho pensato quindi di convertirla utilizzando il metodo nativo Javascript JSON.parse:
var jsonRes = JSON.parse(rows);
ma ricevo un errore di questo tipo:
Error:
sun.org.mozilla.javascript.EcmaError: ReferenceError: "JSON" is not defined.'
Si tratta di un bug? Se sì, c'è un modo per aggirarlo?
Grazie mille.
Mauro
devi usare:
eval("("+json+"));
l'oggetto JSON non è riconosciuto dall'implementazione js di Java standard.
Grazie per la risposta tempestiva!
Ho provato ad utilizzare eval, ma così facendo sembra che l'azione Javasccript Server non venga nemmeno più invocata. Nel file di log, non vedo più i miei log nè quelli della query che dovrebbe essere eseguita, ma non ci sono nemmeno errori o stacktrace di eccezioni.
L'unica cosa che ho notato è un warning che mi dà 4ws in corrsipondenza della riga dove utilizzo eval:
"eval can be harmful"
Rettifico.
La funzione viene chiamata e l'eval funziona correttamente.
Grazie mille