2013-12-09 8 views
6

Mam trochę javascriptu, który wysyła dane do funkcji wywołującej stronę php, jednak pojawia się błąd, że nie mogę znaleźć żadnej informacji. Wywołanie postData() jest w środku innej prostej funkcji javascript. Ale nie mogę go zmusić do przesłania danych na stronę php.TypeError: "kliknięcie" wywołało obiekt, który nie implementuje interfejsu 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

Gdzie nazywasz 'postData'? – tymeJV

Odpowiedz

1

usunąć "od nazwy właściwości

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

i dodać

alert("Got called"); 

po

function postData() { 

aby mieć pewność, że funkcja jest wywoływana

+1

Dlaczego usunąć cytaty? Oba są równoważne, a przytoczona wersja jest bezpieczniejsza, ponieważ można używać nazw, które w przeciwnym razie byłyby nielegalne jako identyfikatory. –

+0

Próbuję użyć wszystkiego, podobnie jak dokumentacji jquery. Nigdy nie używają cytatów. Plus miałem pewne kłopoty z cytatami, więc może to pomaga .. – Alejandro

+0

Dziękuję za informację, że oba są równoważne :) – Alejandro

4

Przejrzyj zmienną mycat, mytimer, pid może być obiektem jQuery. to znaczy, że miał asigned

mycat = $('#cate') 

Jeśli to prawda, po prostu naprawić

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

Albo jakiś kod uzyskać realną wartość.

1

Wpadłem na to podczas wykonywania wywołania jQuery $ .ajax() tak jak Ty. Najwyraźniej (w moim przypadku) było spowodowane odwołaniem się do zmiennej, która nie była zakresem i była niezdefiniowana. Na przykład, w kodzie:

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

Jeśli mycat, mytimer lub PID były null, i masz ten sam problem, że byłoby to zrobić.

Powiązane problemy