Ho uno strano problema qui. Ho un progetto creato con Parse.com come back-end (usando il cloudcode per verificare alcune cose quando si effettua una connessione al database). Tutto funziona esattamente come dovrebbe.Parse request.object.get ("KEY") restituisce sempre indefinito
Ma ecco che arriva il problema. Un altro sviluppatore mi ha riferito che c'è qualcosa di sbagliato perché sta diventando "indefinito" ogni volta che prova a chiamare request.object.get('KEY')
in CloudCode. Questo sviluppatore usa esattamente la stessa base di codice di me.
Quindi ho deciso di dargli un'occhiata. Mentre con il mio account Parse, ogni applicazione funziona bene (anche di nuova creazione), con l'account Parse dell'altro sviluppatore, non una singola nuova applicazione che abbiamo creato sembra funzionare con lo stesso identico codice. Ed è ancora più strano - creando un account Parse completamente nuovo e una nuova applicazione produce gli stessi errori mentre il mio account personale e le applicazioni continuano a funzionare bene.
Quindi qual è il problema? Stiamo usando CloudCode, e qui è il codice di esempio (in javascript) di un metodo BeforeSave:
Parse.Cloud.beforeSave('Activity', function(request, response) {
var currentUser = request.user;
var objectUser = request.object.get('fromUser');
if(!currentUser || !objectUser) {
response.error('An Activity should have a valid fromUser.');
} else {
response.success();
}
});
E ogni volta request.object.get('KEY')
rendimenti undefined
, per ogni tasto I precedentemente definita nel codice di iOS prima di caricare il PFObject
. Si noti che con il mio account personale tutto va bene ...
Ho già visto il thread this, tuttavia l'eliminazione di ACL non ha funzionato. request.object.get()
rimane indefinito mentre request.user
è definito per ogni account Parse testato tranne il mio.
EDIT 1
Ho anche avuto uno sguardo verso l'oggetto di attività poco prima di essere caricato, e là tutti i campi sono impostati correttamente.
EDIT 2
Dopo aver rimosso completamente il codice nuvola, gli oggetti vengono correttamente caricato a Parse, con tutti i campi è il modo in cui sono stati fissati tramite il client iOS. Quindi sembra che ci sia qualcosa di sbagliato nel codice cloud di Parse, ma non appena un oggetto passa attraverso il codice cloud, perde tutti i suoi campi.
Puoi mostrare cosa c'è in 'request.object'? – raina77ow
'request.object' non è definito, semplicemente non c'è in qualche modo (per l'altro sviluppatore, il mio account è ancora valido) - ma' request.user' esiste. Quando l'oggetto non passa il cloudcode, tutto è lì, tutti i campi sono impostati correttamente. –