| Subiectul anterior :: Subiectul următor |
| Autor |
Mesaj |
Infobahn
Data înscrierii: 03/Apr/2006
Mesaje: 8
|
| Trimis: Joi Oct 12, 2006 4:48 pm Titlul subiectului: script ajax care nu ruleaza |
|
|
Salutare tuturor,
Pe o distributie FreeBSD cu PHP versiunea 4.4.4 folosesc un script ajax.
Si merge foarte bine.
Incerc sa portez acelasi script pe o alta distributie Slack cu PHP versiunea 4.3.10. Aici nu mai merge.
Mai precis la instructiunile:
var raspuns = http.responseText;
alert(raspuns);
nu afiseaza nimic.
Unde gresesc?
Va multumesc anticipat! |
|
| Sus |
|
Infobahn
Data înscrierii: 03/Apr/2006
Mesaje: 8
|
| Trimis: Joi Oct 12, 2006 5:01 pm Titlul subiectului: |
|
|
Salutare,
Am uitat sa zic ca deschid aplicatiile din cele 2 locatii cu acelasi browser.
Va multumesc |
|
| Sus |
|
carco
Data înscrierii: 27/Mai/2004
Mesaje: 2796
Locație: Bucuresti
|
| Trimis: Joi Oct 12, 2006 5:05 pm Titlul subiectului: |
|
|
| Url-ul care-l ceri via AJAX, merge deschis direct? (eventual zi cum faci request-ul) |
|
| Sus |
|
ExcalIbvr
Data înscrierii: 02/Mai/2004
Mesaje: 1107
Locație: Oradea
|
| Trimis: Joi Oct 12, 2006 11:31 pm Titlul subiectului: |
|
|
| Da mai mult cod. |
|
| Sus |
|
Infobahn
Data înscrierii: 03/Apr/2006
Mesaje: 8
|
| Trimis: Vin Oct 13, 2006 8:55 am Titlul subiectului: |
|
|
Buna dimineata,
Iata codul din pagina js:
function createRequestObject(){
var request_o;
var browser = navigator.appName;
if(browser == "Microsoft Internet Explorer")
{
request_o = new ActiveXObject("Microsoft.XMLHTTP");
}
else
{
request_o = new XMLHttpRequest();
}
return request_o;
}
var http = createRequestObject();
function SchimbareCriteriu()
{
var selectie=document.getElementById('lstCriteriu').options[document.getElementById('lstCriteriu').selectedIndex].text;
http.open('get','ajax.php?actiune1=criteriu&id='+selectie);
http.onreadystatechange = RezultatSchimbareCriteriu;
http.send('');
}
function RezultatSchimbareCriteriu()
{
if(http.readyState == 4)
{
var raspuns = http.responseText;
document.getElementById('divCriteriu').innerHTML = raspuns;
}
}
In pagina php avem urmatorul cod:
echo "<select name='lstCriteriu' id='lstCriteriu' class='select' size=1 onChange='SchimbareCriteriu()'>
<option selected value>(Selectati criteriu)</option>
<option>clienti</option>
<option>furnizori</option>
<option>articole</option>
<option>certificate</option>
<option>facturi</option>
<option>comenzi</option>
</select>";
echo "<div align='center' id='divCriteriu'>";
echo "</div>";
Multumesc anticipat! |
|
| Sus |
|
carco
Data înscrierii: 27/Mai/2004
Mesaje: 2796
Locație: Bucuresti
|
| Trimis: Vin Oct 13, 2006 9:02 am Titlul subiectului: |
|
|
in pagina in care ar tb. sa mearga ajax-ul respectiv, daca scrii manual la url:
[ce mai aveai tu p'acolo]ajax.php?actiune1=criteriu&id=1
obtii ceva? |
|
| Sus |
|
ExcalIbvr
Data înscrierii: 02/Mai/2004
Mesaje: 1107
Locație: Oradea
|
| Trimis: Vin Oct 13, 2006 9:10 am Titlul subiectului: |
|
|
Da, sunt curios si eu de asta.
In plus, mai ai cumva alt output in script-ul PHP, inainte de acele echo-uri? Ala e tot script-ul? Verifica sa nu ai vreun spatiu gol sau enter dupa tag-ul de inchidere (?>). |
|
| Sus |
|
Infobahn
Data înscrierii: 03/Apr/2006
Mesaje: 8
|
| Trimis: Vin Oct 13, 2006 9:39 am Titlul subiectului: |
|
|
Buna ziua,
Daca scriu manual in url : ajax.php?actiune1=criteriu&id=1 nu imi intoarce nimic (in ambele cazuri...adica si unde merge si unde nu merge).
Codul php complet e urmatorul:
<?php
session_start();
include_once("configurare.php");
if ($_SESSION['logat_ok'])
{
include "header.php";
echo "<hr>";
echo "<div align='center' >";
echo "<font face='Verdana' size=2>Criterii de cautare :</font>
<table border='0' cellpadding='5' cellspacing='0' width='80%'>
<tr>
<td class='formatat' align='center'>
<select name='lstCriteriu' id='lstCriteriu' class='select' size=1 onChange='SchimbareCriteriu()'>
<option selected value>(Selectati criteriu)</option>
<option>clienti</option>
<option>furnizori</option>
<option>articole</option>
<option>certificate</option>
<option>facturi</option>
<option>comenzi</option>
</select>";
echo "</td>";
echo "</tr>";
echo "</table>";
echo "</div>";
echo "<br>";
echo "<div align='center' id='divCriteriu'></div>";
echo "<div align='center' id='divRezultatCautare'></div>";
echo "<br>";
echo "<br>";
echo "<hr>";
include "footer.php";
}
else
{
echo "<html>";
echo "<head>";
echo "<meta http-equiv='refresh' content='0;url=login.php' />";
echo "</head>";
echo "<body bgColor='EAEFF4'>";
echo "<div align='center'>";
echo "<table border='0' cellpadding='1' cellspacing='0' width='100%' height='100%'>";
echo "<tr valign='middle'><td align='center'>";
echo "<font face='Verdana' size=4>Nu sunteti autentificat";
echo "</td></tr>";
echo "</div>";
echo "</html>";
}
?> |
|
| Sus |
|
ExcalIbvr
Data înscrierii: 02/Mai/2004
Mesaje: 1107
Locație: Oradea
|
| Trimis: Vin Oct 13, 2006 9:57 am Titlul subiectului: |
|
|
oioai...
1. ceva tot ar trebui sa-ti afiseze. probabil sa intre pe else, daca nu exista $_SESSION['logat_ok']. nici nu genereaza vreo eroare?
2. tu vrei sa aduci toata bucata aia de cod html prin ajax? nu era mai simplu sa incluzi codul intr-un div cu display:none si sa-l afisezi ala direct? raspunsul: BA DA. ce ai facut tu e un exemplu de folosire gresita si de neintelegere a conceptului...
3. foloseste apostrof la echo si ghilimele la atributele elementelor html (ex. echo '<div align="center">'; ) |
|
| Sus |
|
Infobahn
Data înscrierii: 03/Apr/2006
Mesaje: 8
|
| Trimis: Vin Oct 13, 2006 10:37 am Titlul subiectului: |
|
|
Multumesc Excalibur,
Ma tem ca am dat informatii gresite. De aceea voi fi mai explicit. Am 3 fisiere cu care lucrez:
1. cautare.php
<?php
session_start();
include_once("configurare.php");
if ($_SESSION['logat_ok'])
{
include "header.php";
echo "<hr>";
echo "<div align='center' >";
echo "<font face='Verdana' size=2>Criterii de cautare in aplicatia <b>Gestiune</b>:</font>
<table border='0' cellpadding='5' cellspacing='0' width='80%'>
<tr>
<td class='formatat' align='center'>
<select name='lstCriteriu' id='lstCriteriu' class='select' size=1 onChange='SchimbareCriteriu()'>
<option selected value>(Selectati criteriu)</option>
<option>clienti</option>
<option>furnizori</option>
<option>articole</option>
<option>certificate</option>
<option>facturi</option>
<option>comenzi</option>
</select>";
echo "</td>";
echo "</tr>";
echo "</table>";
echo "</div>";
echo "<br>";
echo "<div align='center' id='divCriteriu'>";
echo "</div>";
echo "<div align='center' id='divRezultatCautare'>";
echo "</div>";
echo "<br>";
echo "<br>";
echo "<hr>";
include "footer.php";
}
else
{
echo "<html>";
echo "<head>";
echo "<meta http-equiv='refresh' content='0;url=login.php' />";
echo "</head>";
echo "<body bgColor='EAEFF4'>";
echo "<div align='center'>";
echo "<table border='0' cellpadding='1' cellspacing='0' width='100%' height='100%'>";
echo "<tr valign='middle'><td align='center'>";
echo "<font face='Verdana' size=4>Nu sunteti autentificat";
echo "</td></tr>";
echo "</div>";
echo "</html>";
}
?>
2. ajax.js
function createRequestObject(){
var request_o;
var browser = navigator.appName;
if(browser == "Microsoft Internet Explorer")
{
request_o = new ActiveXObject("Microsoft.XMLHTTP");
}
else
{
request_o = new XMLHttpRequest();
}
return request_o;
}
var http = createRequestObject();
function SchimbareCriteriu()
{
var selectie=document.getElementById('lstCriteriu').options[document.getElementById('lstCriteriu').selectedIndex].text;
http.open('get','ajax.php?actiune1=criteriu&id='+selectie);
http.onreadystatechange = RezultatSchimbareCriteriu;
http.send('');
}
function RezultatSchimbareCriteriu()
{
if(http.readyState == 4)
{
var raspuns = http.responseText;
document.getElementById('divCriteriu').innerHTML = raspuns;
}
}
3. ajax.php
if (isset($_GET['actiune1']) && isset($_GET['actiune1'])=='criteriu')
{
$selectie=$_GET['id'];
echo $selectie;
switch ($id)
{
case 'clienti':
echo "<div align='center'><table border='1' cellpadding='3' cellspacing='0' id='tblClient'><tr><td class='neformatmic' bgColor='#C8D7E6'>Selectare client</td><td class='neformatmic' bgColor='#C8D7E6'><select name='lstClient' id='lstClient' class='select'><option selected>(Selectati clientul)</option>";
$conexiune=mysql_connect($host,$db_utilizator,$db_parola) or die("Eroare: Nu m-am putut conecta la serverul MySQL!!!");
$db=mysql_select_db($db_database,$conexiune) or die("Eroare: Nu m-am putut conecta la baza de date!!!");
$cerereSQL="select * from Clienti order by ID_client";
$rezultat=mysql_query($cerereSQL);
while ($row = mysql_fetch_array($rezultat))
{
echo "<option value='".$row['ID_client']."'>".$row['Nume_client']."</option>";
}
echo "</select></td></tr><tr><td class='neformatmic' align='center'><input type='submit' title='Cautare client' value='Cautare' id='btnCautareClient' name='btnCautareClient' class='button' onClick='CautareClient()'></td><td class='neformatmic' align='center'><input title='Inchidere fereastra' type='button' value='Inchidere fereastra' class='button' id='btnInchidere' name='btnInchidere' onClick='InchidereFereastra()'></td></tr></table></div><br>";
break;
}
}
Pe platforma in care merge scriptul ajax la scrierea manuala in url (ajax.php?actiune1=criteriu&id=clienti) imi returneaza bine (adica imi scrie clienti si imi afiseaza si combou-ul).
Pe platforma in care nu merge scriptul ajax la scrierea manuala in url (ajax.php?actiune1=criteriu&id=clienti) imi returneaza numai clienti si nu imi afiseaza si combou-ul.
Multumesc |
|
| Sus |
|
Amenthes
Data înscrierii: 12/Dec/2005
Mesaje: 620
|
| Trimis: Sâm Oct 28, 2006 6:55 pm Titlul subiectului: |
|
|
Prin acelasi browser vrei sa spui si acelasi sistem de operare? Ca daca nu am o banuiala ce ar putea fi. Si nu cumva folosesti un browser diferit de Internet Explorer? Ca din ce vad nu prea imi explic cum ar functiona Ajax-ul pe IE. Inca o intrebare, pe distributia unde iti merge Ajax-ul cum iti merge Ajax-ul? Cand introduci DOAR manual url-ul? Eu tind sa cred ca doar asa merge.
Sa imi explic si intrebarile:
1. Daca e acelasi browser (si anume Internet Explorer) dar alt sistem(adica alt calculator) de operare poate e alta versiune a browser-ului si nu supoprta ActiveXObject.('Microsoft.XMLHTTP') ci ActiveXObject('Msxml2.XMLHTTP');
2.Te intreb daca e cumva un browser diferit de IE ptr ca tu folosesti browser detection in loc de method detection. Adica in loc de:
Cod: function createRequestObject(){
var request_o;
var browser = navigator.appName;
if(browser == "Microsoft Internet Explorer"){
request_o = new ActiveXObject("Microsoft.XMLHTTP");
} else {
request_o = new XMLHttpRequest();
}
return request_o;
}
ar trebui ceva de genul
Cod:
function createRequestObject(){
var XMLHttpObject;
if(window.XMLHttpRequest){
XMLHttpObject = new XMLHttpRequest;
} else if(window.ActiveXObject){
try{
XMLHttpObject = new ActiveXObject('Msxml2.XMLHTTP');
} catch(e){
XMLHttpObject = new ActiveXObject('Microsoft.XMLHTTP');
}
}
return XMLHttpObject
}
3. Daca merge Ajax-ul doar cand introduci URL manual, intreb ptr ca imi arata ciudat asta:
Cod:
http.open('get','ajax.php?actiune1=criteriu&id='+selectie);
Ar trebui ceva de genul(dupa parerea mea):
Cod:
var url = 'ajax.php?actiune=criteriu&id=' + selectie;
http.open('GET', url, true);
True inseamna ca tranzactia dintre browser si server e asincrona.
4. Asta nu e raspunsul la o intrebare dar te-ar putea ajuta. In loc de:
Cod:
function RezultatSchimbareCriteriu(){
if(http.readyState == 4){
var raspuns = http.responseText;
document.getElementById('divCriteriu').innerHTML = raspuns;
}
}
Incearca asta:
Cod:
function RezultatSchimbareCriteriu(){
if(http.readyState == 4){
if(http.status == 200){
var raspuns = http.responseText;
document.getElementById('divCriteriu').innerHTML = respuns;
} else {
alert('Nu am primit raspuns de la server: ' + http.statusText);
}
}
}
Vad ca am vorbit cam mult sper insa ca nu si prost. Sper sa te ajute. |
|
| Sus |
|
Tardbasten5
Vizitator
|
| Trimis: Joi Ian 04, 2007 6:28 am Titlul subiectului: |
|
|
nice :)
http://nakedcamerondiaz.info/vids/52800 |
|
| Sus |
|
OryNider
Vizitator
Data înscrierii: 18/Mai/2006
Mesaje: 36
Locație: Arad
|
| Trimis: Vin Aug 24, 2007 12:52 am Titlul subiectului: |
|
|
| La ultimul link postat cere să instalezi activex infectat cu trojan de pe ceva site infectat. Dacă nu aveam antivirus era bai. |
|
| Sus |
|
PHPRomania Bot
Bot Member
Data înscrierii: 27/Dec/2007
Mesaje: 1
Locaţie: Server Google |
| Trimis: Mie Dec 26, 2007 7:01 pm Titlul subiectului: Ad |
|
|
|
|
|
| Sus |
|
| |