![]() |
![]() ![]() |
![]() |
![]()
Post
#1
|
|
![]() Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 16.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
mam taki problem napisałem coś takiego : Kod function getXMLHttpRequestObject() { var wersjeMSXML = new Array( "MSXML2.XMLHTTP.6.0", "MSXML2.XMLHTTP.5.0", "MSXML2.XMLHTTP.4.0", "MSXML2.XMLHTTP.3.0", "MSXML2.XMLHTTP", "Microsoft.XMLHTTP" ); try{ return new XMLHttpRequest(); } catch(e){ for (var indeks in wersjeMSXML){ try{ return new ActiveXObject(wersjeMSXML[indeks]); } catch(e){ } } return null; } } var run = false; function reputation_act(pid, topic_id, author_id, action_id) { if(run){ return; } var url = ipb_var_base_url+'autocom=reputation&CODE=add&pid='+pid+'&topic_id='+topic_id+'&author_id='+author_id+'&action='+action_id; var points = document.getElementById("RepPoints"+pid); var but = document.getElementById("rep_buttons"+pid); but.removeChild(but.childNodes[0]); but.removeChild(but.childNodes[1]); var XMLHttpRequestObject = getXMLHttpRequestObject(); if(XMLHttpRequestObject){ run = true; XMLHttpRequestObject.open("POST", url); XMLHttpRequestObject.setRequestHeader( 'Content-Type', 'application/x-www-form-urlencoded'); XMLHttpRequestObject.onreadystatechange = function() { if (XMLHttpRequestObject.readyState == 4){ if(XMLHttpRequestObject.status == 200){ points.innerHTML = XMLHttpRequestObject.responseText } run = false; delete XMLHttpRequestObject; } } XMLHttpRequestObject.send(null); } } function rep_post_stat (postID, st) { if(run){ show(); return; } var url = ipb_var_base_url+'autocom=reputation&CODE=p_statistic&pid='+postID+'&st='+st; var stat_window = document.getElementById("topic_who"+postID); var change_link = document.getElementById("stat_but"+postID); var general_link = document.getElementById("rep-general-"+postID); var XMLHttpRequestObject = getXMLHttpRequestObject(); if(XMLHttpRequestObject){ run = true; XMLHttpRequestObject.open("POST", url); XMLHttpRequestObject.setRequestHeader( 'Content-Type', 'application/x-www-form-urlencoded'); XMLHttpRequestObject.onreadystatechange = function() { if (XMLHttpRequestObject.readyState == 4){ if(XMLHttpRequestObject.status == 200){ ans_func = XMLHttpRequestObject.responseText.split("@"); stat_window.innerHTML = ans_func[0]; change_link.innerHTML = ans_func[1]; general_link.innerHTML = ans_func[2]; } hide(); run = false; delete XMLHttpRequestObject; } } XMLHttpRequestObject.send(null); } } var loading = document.getElementById("loading-layer"); function show() { loading.setAttribute("style","display: block; position: fixed; top:50%;right: 50%"); } function hide() { loading.setAttribute("style","display:none;"); } działa idealnie w Firefoxie ale w IE wywala się funkcja reputation_act błąd: type mismath Rzadko używam Ajax-a czy w ogóle JS i nie mogę sobie z tym poradzić. Z góry dziękuję. |
|
|
![]()
Post
#2
|
|
![]() Grupa: Zarejestrowani Postów: 259 Pomógł: 42 Dołączył: 8.04.2005 Skąd: Mława Ostrzeżenie: (0%) ![]() ![]() |
Tak przeglądam ten skrypt, i widzę nadużywanie try...catch. Powinno używać się tego do rzeczywistych błędów, opieranie logiki działania kodu o try...catch jest złe. Mało wydajne i nieeleganckie.
Spróbuj podmienić funkcję getXMLHttpRequestObject
Ten post edytował korro 28.11.2009, 16:35:01 -------------------- |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 16.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
Zmieniłem, oczywiście nic to nie pomaga tylko jedna funkcja się wywalała więc to nie jest sprawka funkcji getXMLHttpRequestObject.
|
|
|
![]()
Post
#4
|
|
![]() Grupa: Zarejestrowani Postów: 259 Pomógł: 42 Dołączył: 8.04.2005 Skąd: Mława Ostrzeżenie: (0%) ![]() ![]() |
Napisz w której linijce jest błąd.
-------------------- |
|
|
![]()
Post
#5
|
|
![]() Grupa: Zarejestrowani Postów: 5 Pomógł: 0 Dołączył: 16.03.2008 Ostrzeżenie: (0%) ![]() ![]() |
ok poradziłem sobie błedne było :
Kod but.removeChild(but.childNodes[1]); ie uważało ze tego niema (niema co usunąć) dlaczego tego nie wiem natomiast po nadaniu id wewnątrz węzła wszystko zaczęło chodzić. Dzięki korro za chęć pomocy i za douczenie mnie w kwestii funkcji getXMLHttpRequestObject. |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 29.06.2025 - 12:37 |