|
| Problemer med AJAX Fra : Jeppe |
Dato : 21-04-07 12:28 |
|
Her følgende test side:
http://www.gie04-05.dk/ajax
Hvor jeg ikke kan få det til at virke efter hensigten, den poster
hvertifald ikke noget når jeg har lavet en chance i select
boksen..
request.php ser således ud:
<?php
if($_GET['action'] == 'get_products'){
if($_POST["boards"]){
echo '
<ul>
<li>JP</li>
<li>Fanatic</li>
<li>Goya</li>
</ul>';
}
if($_POST["sejl"]){
echo '
<ul>
<li>Simmer</li>
<li>North sails</li>
<li>Gastra</li>
<li>Goya sails</li>
</ul>';
}
if($_POST["bomme"]){
echo '
<ul>
<li>Technolimit</li>
<li>Simmer</li>
<li>North</li>
</ul>';
}
}
?>
Har på fornemmelsen at det er følgende linje der skal rettes lidt
på før at den poster mine data:
http.open('get', 'request.php?action=get_products&id='
+
document.form_category_select.select_category_select.selectedInde
x);
men ved ikke hvordan den skal se ud hvis jeg ændre open til
submit?
/Jeppe
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Birger Sørensen (21-04-2007)
| Kommentar Fra : Birger Sørensen |
Dato : 21-04-07 15:44 |
|
Jeppe wrote in dk.edb.internet.webdesign.clientside:
> Her følgende test side:
>
> http://www.gie04-05.dk/ajax
>
> Hvor jeg ikke kan få det til at virke efter hensigten, den poster
> hvertifald ikke noget når jeg har lavet en chance i select
> boksen..
>
> request.php ser således ud:
>
> <?php
>
>
>
> if($_GET['action'] == 'get_products'){
>
> if($_POST["boards"]){
>
> echo '
>
> <ul>
>
> <li>JP</li>
>
> <li>Fanatic</li>
>
> <li>Goya</li>
>
>
>
> </ul>';
>
> }
>
> if($_POST["sejl"]){
>
> echo '
>
> <ul>
>
> <li>Simmer</li>
>
> <li>North sails</li>
>
> <li>Gastra</li>
>
> <li>Goya sails</li>
>
> </ul>';
>
> }
>
> if($_POST["bomme"]){
>
> echo '
>
> <ul>
>
> <li>Technolimit</li>
>
> <li>Simmer</li>
>
> <li>North</li>
>
> </ul>';
> }
>
> }
>
> ?>
>
> Har på fornemmelsen at det er følgende linje der skal rettes lidt
> på før at den poster mine data:
>
> http.open('get', 'request.php?action=get_products&id='
>
> +
> document.form_category_select.select_category_select.selectedInde
> x);
>
> men ved ikke hvordan den skal se ud hvis jeg ændre open til
> submit?
>
> /Jeppe
>
> --
> Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
> - Pædagogiske tutorials på dansk
> - Kom godt i gang med koderne
> KLIK HER! => http://www.html.dk/tutorials
Har ikke forstand på AJAX - og heller ikke lige på hvad det er du
forsøger.
Du bruger post og get i flæng, både i din html og PHP.
så vidt jeg kan se, kan du bare tilføje din fil i formen, så behøver
du ikke selv sende request...
<form action="request.php" method="post">
<input type="hidden" name="action" value="get_products">
...
og så brug $_POST(..) i php - eller ret method til "get" og brug
$_GET(..)
Tror ikke det går godt at blande tingene...
De mange overflødige tomme linier i din kode gør den svær at
overskue...
Birger
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Jeppe Christensen (21-04-2007)
| Kommentar Fra : Jeppe Christensen |
Dato : 21-04-07 16:31 |
|
> De mange overflødige tomme linier i din kode gør den svær at
> overskue...
Hey.. tak fordi du gider tage dig tid...
Det orginale kode er taget her fra:
http://www.phpuniverset.dk/show_artikels.phtml?ArtikelID=68&artikel=AJA
X.er.sagen
Hvor det også virker fint...
Men jeg har så prøvet at ændre i det uden større succes, sådan at jeg
kunne slippe for at skulle bruge switch i min php kode...
Jeg vil bare gerne have sådan at den vil kunne opdatere "produkterne"
ved at submitte formen til php scriptet, men sammentidig uden at skulle
opdatere hele siden(ligesom man kan i standard det eksempel jeg linker
til)...
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Birger Sørensen (21-04-2007)
| Kommentar Fra : Birger Sørensen |
Dato : 21-04-07 22:21 |
|
Jeppe Christensen wrote in dk.edb.internet.webdesign.clientside:
> > De mange overflødige tomme linier i din kode gør den svær at
> > overskue...
>
> Hey.. tak fordi du gider tage dig tid...
>
> Det orginale kode er taget her fra:
>
> http://www.phpuniverset.dk/show_artikels.phtml?ArtikelID=68&artikel=AJA
> X.er.sagen
>
> Hvor det også virker fint...
>
> Men jeg har så prøvet at ændre i det uden større succes, sådan at jeg
> kunne slippe for at skulle bruge switch i min php kode...
>
> Jeg vil bare gerne have sådan at den vil kunne opdatere "produkterne"
> ved at submitte formen til php scriptet, men sammentidig uden at skulle
> opdatere hele siden(ligesom man kan i standard det eksempel jeg linker
> til)...
>
>
> --
> Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
> - Pædagogiske tutorials på dansk
> - Kom godt i gang med koderne
> KLIK HER! => http://www.html.dk/tutorials
Det vil jeg kigge på - lyder brugbart... :)
Har dog lidt svært ved at læse koden på den side også - mere end hver
anden linie er tom..?
Scrollbarer på både den ene og den anden led - hvis den formatteres
ordentligt er det ikke nødvendigt.
De ku' lære noget her... ;>)
Birger
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Stig Johansen (22-04-2007)
| Kommentar Fra : Stig Johansen |
Dato : 22-04-07 05:48 |
|
Jeppe Christensen wrote:
> Det orginale kode er taget her fra:
>
> http://www.phpuniverset.dk/show_artikels.phtml?ArtikelID=68&artikel=AJAX.er.sagen
Jeg kiggede lige på siden og opdagede:
<kodestump>
if(browser == "Microsoft Internet Explorer"){
request_o = new ActiveXObject("Microsoft.XMLHTTP");
}else{
request_o = new XMLHttpRequest();
}
return request_o;
}
</kodestump>
Jeg kører Konqueror, og har sat den til IE, for ellers møder jeg alle de der
'optimeret til..' sider.
Men der er ingen 'Microsoft.XMLHTTP' object, så det virker naturligvis ikke.
Sætter jeg derimod min Konqueror op til Mozilla, virker det(demoen) fint.
Spørgsmålene er:
1) Har IE virkelig ikke XMLHttpRequest();
eller
2) Er det ikke muligt at lave en mindre uintelligent funktion?
--
Med venlig hilsen
Stig Johansen
| |
Birger Sørensen (22-04-2007)
| Kommentar Fra : Birger Sørensen |
Dato : 22-04-07 10:06 |
|
Stig Johansen wrote in dk.edb.internet.webdesign.clientside:
> Jeppe Christensen wrote:
>
> > Det orginale kode er taget her fra:
> >
> > http://www.phpuniverset.dk/show_artikels.phtml?ArtikelID=68&artikel=AJAX.er.sagen
> Jeg kører Konqueror, og har sat den til IE, for ellers møder jeg alle de der
> 'optimeret til..' sider.
> Men der er ingen 'Microsoft.XMLHTTP' object, så det virker naturligvis ikke.
> Sætter jeg derimod min Konqueror op til Mozilla, virker det(demoen) fint.
>
> Spørgsmålene er:
> 1) Har IE virkelig ikke XMLHttpRequest();
> eller
> 2) Er det ikke muligt at lave en mindre uintelligent funktion?
>
> --
> Med venlig hilsen
> Stig Johansen
XMLHttpRequest findes i IE 7.
Birger
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Henrik Stidsen (22-04-2007)
| Kommentar Fra : Henrik Stidsen |
Dato : 22-04-07 10:49 |
|
on 22-04-2007, Stig Johansen supposed :
> 2) Er det ikke muligt at lave en mindre uintelligent funktion?
Jo, man skal aldrig kigge på hvad browseren kalder sig selv, man skal
kigge på hvilke objekter/funktioner den har.
--
Henrik Stidsen - http://henrikstidsen.dk/
"Hot or Not" for fugle: http://fuglemarkedet.dk/galleriet/
"Advertising is the art of convincing people to spend money they don't
have for something they don't need." - Will Rogers
| |
Lars Madsen (23-04-2007)
| Kommentar Fra : Lars Madsen |
Dato : 23-04-07 09:30 |
| | |
Birger Sørensen (23-04-2007)
| Kommentar Fra : Birger Sørensen |
Dato : 23-04-07 09:39 |
|
Henrik Stidsen wrote in dk.edb.internet.webdesign.clientside:
> on 22-04-2007, Stig Johansen supposed :
> > 2) Er det ikke muligt at lave en mindre uintelligent funktion?
>
> Jo, man skal aldrig kigge på hvad browseren kalder sig selv, man skal
> kigge på hvilke objekter/funktioner den har.
Her set det før.
Også spurgt før...
Hvordan?
Birger
--
Vil du lære at kode HTML, XHTML, CSS, SSI, ASP eller ASP.NET?
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials
| |
Henrik Stidsen (23-04-2007)
| Kommentar Fra : Henrik Stidsen |
Dato : 23-04-07 22:15 |
|
Birger Sørensen formulated the question :
>> Jo, man skal aldrig kigge på hvad browseren kalder sig selv, man skal
>> kigge på hvilke objekter/funktioner den har.
> Her set det før.
> Også spurgt før...
> Hvordan?
Man kan jo sige at man skal checke for de objekter og funktioner man
skal bruge :)
Så det du bør gøre er at google lidt rundt og finde ud af hvad
forskellene er mellem browserne når det kommer til lige præcis de ting
du skal bruge.
--
Henrik Stidsen - http://henrikstidsen.dk/
"Hot or Not" for fugle: http://fuglemarkedet.dk/galleriet/
Did you ever walk into a room and forget why you walked in? I think
that's how dogs spend their lives. - Sue Murphy
| |
Stig Johansen (24-04-2007)
| Kommentar Fra : Stig Johansen |
Dato : 24-04-07 05:44 |
|
Birger Sørensen wrote:
> Henrik Stidsen wrote in dk.edb.internet.webdesign.clientside:
>> on 22-04-2007, Stig Johansen supposed :
>> > 2) Er det ikke muligt at lave en mindre uintelligent funktion?
>>
>> Jo, man skal aldrig kigge på hvad browseren kalder sig selv, man skal
>> kigge på hvilke objekter/funktioner den har.
>
> Her set det før.
> Også spurgt før...
>
> Hvordan?
I det her tilfælde kunne man eks. skrive (direkte fra hovedet, utestet);
<kodestump>
request_o = new ActiveXObject("Microsoft.XMLHTTP");
if (request_o == null)
request_o = new XMLHttpRequest();
if (request_o == null)
alert ('Desværre, ingen hvid tornado her');
return request_o;
</kodestump>
--
Med venlig hilsen
Stig Johansen
| |
Lasse Reichstein Nie~ (24-04-2007)
| Kommentar Fra : Lasse Reichstein Nie~ |
Dato : 24-04-07 07:44 |
|
Stig Johansen <stig_johansen_it_at_=(@)hotmail.com> writes:
> I det her tilfælde kunne man eks. skrive (direkte fra hovedet, utestet);
>
> <kodestump>
> request_o = new ActiveXObject("Microsoft.XMLHTTP");
> if (request_o == null)
> request_o = new XMLHttpRequest();
> if (request_o == null)
> alert ('Desværre, ingen hvid tornado her');
> return request_o;
> </kodestump>
Det skal nok være lidt bedre til at håndtere at de objekter det
bruger, mangler. Se fx <URL: http://www.jibbering.com/2002/4/httprequest.html>
/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL: http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'
| |
Stig Johansen (25-04-2007)
| Kommentar Fra : Stig Johansen |
Dato : 25-04-07 02:52 |
|
Lasse Reichstein Nielsen wrote:
> Stig Johansen <stig_johansen_it_at_=(@)hotmail.com> writes:
>
>> I det her tilfælde kunne man eks. skrive (direkte fra hovedet, utestet);
>>
>> <kodestump>
>> request_o = new ActiveXObject("Microsoft.XMLHTTP");
>> if (request_o == null)
>> request_o = new XMLHttpRequest();
>> if (request_o == null)
>> alert ('Desværre, ingen hvid tornado her');
>> return request_o;
>> </kodestump>
>
> Det skal nok være lidt bedre til at håndtere at de objekter det
> bruger, mangler. Se fx
> <URL: http://www.jibbering.com/2002/4/httprequest.html>
Jeg synes din sætning er lidt kryptisk, men hvis du mener, at kodestumpen
skal raffineres med exception handling osv, så kan jeg ikke være mere enig.
Det var ikke ment som en løsning, blot en ledetråd.
--
Med venlig hilsen
Stig Johansen
| |
Martin (23-04-2007)
| Kommentar Fra : Martin |
Dato : 23-04-07 11:43 |
|
Jeppe wrote:
> Her følgende test side:
>
> http://www.gie04-05.dk/ajax
>
> Hvor jeg ikke kan få det til at virke efter hensigten, den poster
> hvertifald ikke noget når jeg har lavet en chance i select
> boksen..
> http.open('get', 'request.php?action=get_products&id='
Ligefør din http.open indsæt så en
http.onreadystatechange=state_Change;
lav en funktion som hedder state_Change kunne se sådan her ud fx.
function state_Change() {
switch(http.readyState) {
case 0:
case 1:
case 2:
case 3:
alert('Gemmer');
break;
case 4:
alert(http.responseText);
break;
}
}
Så kan du se outputtet i din responseText :)
| |
|
|