2013-12-09 7 views
6

Ho qualche javascript che invia dati a una funzione che chiama una pagina php, tuttavia ottengo un errore su cui non riesco a trovare alcuna informazione. La chiamata postData() si trova nel mezzo di un'altra semplice funzione javascript. Ma non riesco a farlo inviare i dati alla pagina php.TypeError: 'click' chiamato su un oggetto che non implementa l'interfaccia HTMLElement

function postData() { 
var postdataURL = "path/to/php/page.php"; 
    $.post (
     postdataURL, { 
     "formid":5, 
     "clientid":1, 
     "userid":1, 
     "level":mycat, 
     "extra":mytimer, 
     "pid":pid 
     }, 
     function() {}); 
} 
+0

Dove stai chiamando 'postData'? – tymeJV

risposta

1

rimuovere la "dal nome delle proprietà

$.post (
    postdataURL, { 
    formid:5, 
    clientid:1, 
    userid:1, 
    level:mycat, 
    extra:mytimer, 
    pid:pid 
    }, 
    function() {}); 

e aggiungere un

alert("Got called"); 

dopo

function postData() { 

per essere sicuri che la funzione viene chiamata

+1

Perché rimuovere le virgolette? I due sono equivalenti e la versione citata è più sicura in quanto è possibile utilizzare nomi che altrimenti sarebbero illegali come identificatori. –

+0

Provo ad usare tutto allo stesso modo la documentazione di jQuery. Non usano mai le virgolette. Inoltre ho avuto qualche problema con le virgolette prima quindi forse questo aiuta .. – Alejandro

+0

Grazie per le informazioni che entrambi sono equivalenti però :) – Alejandro

4

Controlla la tua variabile mycat, mytimer, pid potrebbe essere un oggetto jQuery. che si intende avevano asigned

mycat = $('#cate') 

Se questo è vero, basta correzione

mycat = $('#cate').val() 

O qualche codice di ottenere il valore reale.

1

Mi sono imbattuto in questo quando ho chiamato jQuery $ .ajax() come hai fatto tu. Apparentemente (nel mio caso) è stato causato dal riferimento a una variabile che non era nel campo di applicazione ed era indefinita. Ad esempio, nel codice:

"level":mycat, 
    "extra":mytimer, 
    "pid":pid 

Se mycat, myTimer, o PID erano nulli, e si stanno avendo lo stesso problema, che l'avrebbe fatto.

Problemi correlati