Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [AJAX] Na localhoscie działa, na serwerze nie
Forum PHP.pl > Forum > XML, AJAX > AJAX
Balon
Pisałem skrypt oparty o ajax na localu i na localu elegancko działa. Wrzuciłem to na server w sieci i ajax jest niby wykonywany bo linki sa skracane, jednak nie wyswietla mi zadnych komunikatow. Zalaczam zrodlo scripts.js ( korzystam z prototype )
CODE
/**
* This file is part of SL-system.
* @copyright 2006 All rights reserved, do not copy, edit or resale.
* @author Krzysztof Jagiełło <balonyo@gmail.com>
* @version 0.1
*/
var error_sug = 0;
var error_url = 0;

function ajaxCut()
{
if( error_sug == 0 && error_url == 0 )
{
$('mainPanelMsg').style.display = 'none';
$('mainPanelMsg').innerHTML = "";
var ajax = new Ajax.Request(
'ajax_request.php?action=cut&url_long=' + $F( 'url_long' ) + '&url_sug=' + $F( 'url_sug' ),
{
onComplete: ajaxCutProg
});
}
else
{
$('mainPanelMsg').innerHTML = "Zanim skrócisz link, musisz poprawić błędy exclamation.gif";
$('mainPanelMsg').style.display = 'block';
}
}

function ajaxCutProg( req )
{
var res = req.responseText;
var arr;
arr = res.split( '#' );
switch( arr[0] )
{
case '1':
$('mainPanelMsg').innerHTML = "Twój skrót to <a href='http://balon.pliki.pl/projekty/1_skroc/?short=" + arr[1] + "' class='short'>" + arr[1] + "</a>";
$('mainPanelMsg').style.display = 'block';
break;
case '0':
$('mainPanelMsg').innerHTML = arr[1];
$('mainPanelMsg').style.display = 'block';
break;
}
}

function ajaxSug()
{
if( $F( 'url_sug' ).length > 0 )
{
var ajax = new Ajax.Request(
'ajax_request.php?action=checksug&sug=' + $F( 'url_sug' ),
{
method: 'get',
onComplete: ajaxSugProg
});
}
else
{
i_error( 'good', 'url_sug' );
return 1;
}
}

function ajaxSugProg( req )
{
switch( req.responseText )
{
case 'yes':
$('mainPanelMsg').innerHTML = "Podany skrót jest zajęty.";
$('mainPanelMsg').style.display = 'block';
i_error( 'bad', 'url_sug' );
error_sug = 1;
return 0;
break;
case 'no':
$('mainPanelMsg').innerHTML = '';
$('mainPanelMsg').style.display = 'none';
i_error( 'good', 'url_sug' );
error_sug = 0;
return 1;
break;
}
}

function i_error( type, i_name )
{
switch( type )
{
case 'bad':
$( i_name ).style.border = 'solid 1px #cd8989';
$( i_name ).style.background = '#fff1f1';
break;
case 'good':
$( i_name ).style.border = 'solid 1px #a9d97d';
$( i_name ).style.background = '#f9fff4';
break;
}
}

function validUrl()
{
if( $F( 'url_long' ).length > 0 )
{
var valid = /^(http|https):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}((:[0-9]{1,5})?\/.*)?$/.test( $F( 'url_long' ) );
if( !valid )
{
i_error( 'bad', 'url_long' );
return false;
}
else
{
i_error( 'good', 'url_long' );
return true;
}
}
}

function checkUrl()
{
if( $F( 'url_long' ).length > 0 )
{
if( validUrl() )
{
var ajax = new Ajax.Request(
'ajax_request.php?action=checkurl&url=' + $F( 'url_long' ),
{
method: 'get',
onComplete: ajaxUrlProg
});
}
else
{
return 0;
}
}
}

function ajaxUrlProg( req )
{
switch( req.responseText )
{
case 'yes':
$('mainPanelMsg').innerHTML = "Podany adres był już skracany.";
$('mainPanelMsg').style.display = 'block';
i_error( 'bad', 'url_long' );
error_long = 1;
return 0;
break;
case 'no':
$('mainPanelMsg').innerHTML = '';
$('mainPanelMsg').style.display = 'none';
i_error( 'good', 'url_long' );
error_long = 0;
return 1;
break;
default:
return 0;
break;
}
}


prosze o pomoc :/
jastu
hmm.... u mnie to samo questionmark.gifquestionmark.gifquestionmark.gifquestionmark.gifquestionmark.gif? Jak sobie poradziłeś ?

edit : na drugim kompie konsola JS pokazuje błędy w pliku advAjax.js questionmark.gifquestionmark.gif?
Cysiaczek
ten problem jak zauważyłem wystepuje na niektórych serwerach i obecnie nikt chyba nie wie dlaczego smile.gif Zapewne dotyczy to jakichś konkretnych sytuacji, w których HttpRequest jest blokowane, albo po prostu niewidziane przez serwer. Przynajmniej tak to wygląda z mojego - użytkownika punktu widzenia. :|

Pozdrawiam
jastu
Tylko co odpowiada za tą blokadę ?...inna usługa serwerowa ....błedy w konfiguracji.... nie mam najmniejszego pojęcia , to tak po prostu losowo się raczej nie dzieje...trochę tak nieładnie jak ktos ma płatny hosting i napisał sobie coś sporego a tu d..a angrysmiley.gif .... ale tu akurat o sobie nie piszę chociaż ma ten sam probem worriedsmiley.gif

EXPERYMENT :

Są dwa komputery,na obu jest taka sama konfiguracja - Apache/php/MySql - oba mają publiczne IP i tą samą witrynę internetową. Jeśli nie staramy dostać się do nich z zewnątrz i pracują jako lacalhosty AJAX działa prawidłowo na obu . Natomiast próbując zajrzeć do nich z zewnątrz po publicznym ip ajax nie działa (pozostała część strony się ładuje ) ... po podłączeniu komputerków kablem skrosowanym dzieje się to samo ......

Dlaczego jeśli pracujemy na localhost to dla nas działa ajax ale dlaczego gdy chcemy światu coś pokazać to się nie da ! dry.gif czuję krew..... help....
piotrekkr
ja sobie poradzilem tak : AJAX. Mi advajax localhoscie nie chcial dzialac i jakos sie zrazilem do gotowych bibliotek i znalazlem ten kurs i dziala mi teraz wszystko biggrin.gif
omeck
hmm u mnie jest z kolei odwrotna sytuacja - na serwerze działa, a na localhoscie nie che :/ Nie wiecie dalej, co jest tego przyczyną?

wygooglowałem rozwiązanie, poskutowało blink.gif sam bym na to nie wpadł.

link: http://www.dhtmlgoodies.com/forum/viewtopic.php?t=568
Uzza
Cytat
edit : na drugim kompie konsola JS pokazuje błędy w pliku advAjax.js questionmark.gifquestionmark.gif?

O jakiej konsoli mowisz questionmark.gif Jest może jakieś dobre narzędzie do debugowania JS ?
Zepco
Spróbuj podawać całą ścieżkę do pliku php, czyli zamiast:

ajax_request.php?[...]

podaj:

http://nazwa.serwera.pl/ajax_request.php?[...]


Cytat(Uzza @ 7.12.2006, 18:42:41 ) *
O jakiej konsoli mowisz questionmark.gif Jest może jakieś dobre narzędzie do debugowania JS ?


W Mozilli Firefox w menu Narzędzia jest coś takiego jak Konsola błędów i tam pokazuje wszystkie błędy JS, bardzo przydatne narzędzie.
Do AJAXa dodatkowo polecam wtyczkę Firebug, znajdującą się pod adresem http://www.getfirebug.com/ , pozwala podglądać zapytania i odpowiedzi AJAXa.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.