2014-07-19 6 views
9

Ho un problema molto strano perché alcune settimane fa, tutto ha funzionato bene. Ma ora, non posso salvare un oggetto che contiene una data.Salvare un campo data su Parse: tipo non valido per chiave, data prevista, ma stringa

Uso il backend Parse.com. Ho una classe molto semplice con un solo campo Date.

faccio una semplice query:

var Day = Parse.Object.extend('Day'); 
var d = new Day(); 
var now = new Date(); 
d.set('dateField', now); 
d.save(); 

ottengo un errore:

tipo non valido per la chiave DateField, data prevista, ma ho ottenuto stringa

se provo per farlo:

d.set('dateField', {__type:"Date", iso:now.toISOString()} 

Ho lo stesso problema ...

Spero che qualcuno mi può aiutare, perché, non ho la minima idea ...

Grazie!

+0

Usando 'D.SET ('dateField', now) 'è il modo corretto di farlo in JavaScript, se quel primo blocco di codice fallisce allora dovresti presentare un bug report che ha funzionato bene per me. Vorrei provare nuovamente quella semplice query come mostrato in un file con nient'altro che gli script minimi nudi allegati. –

+0

Il mio esempio precedente è esattamente quello che ho provato e non funziona. Non ho il codice Cloud, ho provato attraverso uno script e attraverso la console del browser. È molto strano perché altri campi sono a posto. – EntrustName

+0

Suggerisco di presentare una segnalazione di bug all'indirizzo https://parse.com/help –

risposta

1

Non so cosa stai facendo male lì ma questo frammento funziona correttamente per me. È testato & funzionando correttamente.

Breve doppio controllo che si può fare - colonna Nome di classe, il nome della classe, tipo di dati della colonna, la versione JS SDK in SCRIPT TAG

<script type="text/javascript" src="http://www.parsecdn.com/js/parse-1.3.2.min.js"></script> 
 

 
    <script type="text/javascript"> 
 
    Parse.initialize("APPID", "JS KEY"); 
 
    
 
    var TestObject = Parse.Object.extend("CLASSNAME"); 
 
\t var currentDate = new Date(); 
 
    var testObject = new TestObject(); 
 
\t testObject.set('datefield', currentDate); 
 
     testObject.save(null, { 
 
     success: function(object) { 
 
     $(".success").show(); 
 
     }, 
 
     error: function(model, error) { 
 
\t  console.log('error - ', error); 
 
     $(".error").show(); 
 
     } 
 
    }); 
 
    </script>