[AJAX/JS]Geen weergave

Pagina: 1
Acties:

  • pderaaij
  • Registratie: Oktober 2005
  • Laatst online: 18-08-2025
Een beetje vage topic titel, maar ik heb geen idee hoe ik het beter kan omschrijven.

Ik ben een beetje aan het oefenen met AJAX, maar ik kom er niet uit. Ik probeer gewoon een simpele tekst uit een database te halen en die in een div weer te geven. Maar dat lukt dus niet.

Dit is is de code:

Javascript engine:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
// Get the bas URL
url = document.location.href;
xend = url.lastIndexOf("/") + 1;
var base_url = url.substring(0,xend);

function ajax_run(url)
{
    // Does URL start with http?
    if(url.substring(0,4) != 'http')
    { 
        url = base_url + url;
    }
    
    // create new JS element
    var jsel = document.createElement('SCRIPT');
    jsel.type = 'text/javascript';
    jsel.src = url;
    
    // append JS element
    document.body.appendChild(jsel);
}


PHP file:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
<?php
require_once("alt.drivers/alt.content.class.php");

$oContent = new CContent();

$oContent->getContent($_GET['sRegion']);

print $oContent->sTitle;
print $oContent->sBericht;
?>

div = document.getElementById('contentContainer');
div.innerHTML = '<?php echo $oContent->sTitle; echo "<p>"; echo $oContent->sBericht; ?>';


De div class:
code:
1
<div id="contentContainer" class='content'></div>


Wie kan me helpen?

EDIT:

Deze error krijg ik in de FF JavaScript console:

Fout: missing ; before statement
Bronbestand: http://develop.axysservic...ch/test.php?sRegion=start
Regel: 1, Kolom: 7
Broncode:
Welkom bij VemotechDit wordt het welkomstbericht.

[ Voor 17% gewijzigd door pderaaij op 26-11-2005 15:07 ]


  • Mithrandir
  • Registratie: Januari 2001
  • Laatst online: 21-04 15:43
Tsja, dat ligt eraan wat de output is van de volgende code:

code:
1
2
print $oContent->sTitle;
print $oContent->sBericht;


Post eens de totale pagina die je krijgt? Want waarschijnlijk zit de fout in de plaats waar je die dingen output.

Verbouwing


  • pderaaij
  • Registratie: Oktober 2005
  • Laatst online: 18-08-2025
http://develop.axysservice.nl/vemotech/

Maar daar zie je dus niets.

Dat FF error console heeft het over een ';', maar ik zou niet weten waar die moet.

  • Mithrandir
  • Registratie: Januari 2001
  • Laatst online: 21-04 15:43
wordne je javascripts ook gegenereerd in php?

[edit]
JavaScript:
1
2
div = document.getElementById('contentContainer');
div.innerHTML = '<?php echo $oContent->sTitle; echo "<p>"; echo $oContent->sBericht; ?>';


Wat is de output van deze regels? Daar kan zomaar een fout instaan natuurlijk.

[ Voor 89% gewijzigd door Mithrandir op 26-11-2005 15:25 ]

Verbouwing


  • pderaaij
  • Registratie: Oktober 2005
  • Laatst online: 18-08-2025
Heb het probleem al.

Liet PHP ook al het resultaat outputten. Maar dat wordt natuurlijk niet afgesloten door een ;, waardoor javascript het niet als een statement zag.

Maar goed, beetje stom van me.

Bedankt voor je hulp in ieder geval!

EDIT:

Dit was de output:

Welkom bij VemotechDit wordt het welkomstbericht. div = document.getElementById('contentContainer'); div.innerHTML = 'Welkom bij Vemotech

Dit wordt het welkomstbericht.';

Is nie goed natuurlijk :)

[ Voor 33% gewijzigd door pderaaij op 26-11-2005 15:27 ]


  • Ramon
  • Registratie: Juli 2000
  • Nu online
ik weet niet maar ik vind het een beetje rare manier van AJAX gebruiken.

Bestudeer deze 2 bestanden eens
http://www.cataloniashop.nl/xmlhttp.js
http://www.cataloniashop.nl/livesearch.js

Niet dat ik wil zeggen dat dat de ideale manier is. maar ik mis nog een hele hoop uit die 2 bestanden in jouw code.

Check mijn V&A ads: https://tweakers.net/aanbod/user/9258/


  • pderaaij
  • Registratie: Oktober 2005
  • Laatst online: 18-08-2025
Ramon de Jesus schreef op zaterdag 26 november 2005 @ 15:27:
ik weet niet maar ik vind het een beetje rare manier van AJAX gebruiken.

Bestudeer deze 2 bestanden eens
http://www.cataloniashop.nl/xmlhttp.js
http://www.cataloniashop.nl/livesearch.js

Niet dat ik wil zeggen dat dat de ideale manier is. maar ik mis nog een hele hoop uit die 2 bestanden in jouw code.
Ik ben ook nog aan het leren om Ajax toe te passen. Dit heb ik gemaakt aan de hand van dit artikel -> http://www.phpit.net/arti...-without-xmlhttprequest/1

Die dus zonder een request werkt.

Voorderest kun je me alles wijsmaken, ben nog helemaal nieuw in AJAX :)

  • henkleerssen
  • Registratie: December 2000
  • Niet online

henkleerssen

Your life is as you narrate it

ik zou ajax mijden zolang jij de load kan/mag hebben op de server.
Een (SQL)query naar de server toe (het simpel opvragen van een query weer te geven op één screen) maak je het met ajax nodeloos lastig voor jezelf.
Tenzij je uitgebreide forms en/of server wilt ontlasten van verkeer, zou ik met ajax niet al te veel doen. BTW is ajax één xmlhttprequest object van de vele die nog gaan volgen. De vraag is, welke nu het makkelijkst is/gaat worden (ajax lijkt me nu op dit moment het makkelijkst).

  • Mithrandir
  • Registratie: Januari 2001
  • Laatst online: 21-04 15:43
Hier heb ik een paar weken geleden een stukje over geschreven, misschien wel iets om te lezen: http://okke.formsma.nl/bl...and-degradability-of.html

Verbouwing


  • henkleerssen
  • Registratie: December 2000
  • Niet online

henkleerssen

Your life is as you narrate it

alle info is handig..
Ajax kan handig zijn .. hoor. Ook als je weinig keus hebt (bv snelle calculaties van formvelden om op dezelfde pagina dan weer te geven.. en je de waarden wilt submitten). Maar verder vind ik het niet (genoeg) gebruiksvriendelijk in implementatie.

[ Voor 4% gewijzigd door henkleerssen op 26-11-2005 20:30 ]


  • pderaaij
  • Registratie: Oktober 2005
  • Laatst online: 18-08-2025
Ach wil er eens mee rommelen. Kijken wat de voordelen en nadelen zijn.

Zal eens in dat artikel duiken die hierboven is genoemd.

Iedereen bedankt in ieder geval.

  • henkleerssen
  • Registratie: December 2000
  • Niet online

henkleerssen

Your life is as you narrate it

pderaaij schreef op zaterdag 26 november 2005 @ 23:11:
Ach wil er eens mee rommelen. Kijken wat de voordelen en nadelen zijn.

Zal eens in dat artikel duiken die hierboven is genoemd.

Iedereen bedankt in ieder geval.
ooh ja.. voor de volledigheid: "trage" (ruwweg alles onder 800Mhz) pc's .. kunnen ook traag zijn met het weergeven van data op deze manier. Het vergt wat meer rekenkracht van de pc bij het renderen van een pagina. De aanvankelijke respons tijd die je (misschien) omlaag wou schroeven (zou een van de voordelen kunnen zijn van ajax), kan daardoor toch hoog uitvallen bij de client (en dat merk je niet als je de boel aan het testen op je snelle dev bak).
Nogmaals ajax .. heeft kan zijn voordelen hebben hoor (minder traffic naar je server kan een groot voordeel zijn).

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

Ajax is inderdaad geen toversausje wat je overal overheen kan doen om het lekkerder te laten smaken. In sommige gevallen kan het echter meerwaarde bieden, maar als totale vervanging van bijvoorbeeld reguliere stateless requests zou ik het nooit gebruiken - tenzij het om een webapplicatie gaat.
Gebruik het dus zinvol en alleen ter aanvulling van je gewone diensten. Geef bezoekers ook de mogelijkheid het uit te zetten of zorg in ieder geval dat je errors netjes afvangt en onderdrukt (bijvoorbeeld als een bezoeker ActiveX in IE disabled heeft of als een browser ueberhaupt geen xmlHTTPRequest ondersteund) en zorg ervoor dat je pagina dan ook nog gewoon werkt.

Intentionally left blank


  • pderaaij
  • Registratie: Oktober 2005
  • Laatst online: 18-08-2025
Ik heb nog een probleem met dit gebeuren.

Op het moment dat ik HTML laat returnen die of een newline bevat een of een break-space krijg ik een javascript error omdat de output niet meer op 1regel staat.

Hoe krijg ik dit opgelost?

Wat zijn nog meer opties om informatie dynamisch of zonder reload weer te geven? Is AJAX de enigste methode of is er nog veel meer?

  • crisp
  • Registratie: Februari 2000
  • Nu online

crisp

Devver

Pixelated

PHP:
1
2
3
4
function html2js($data)
{
  return addcslashes($data, "\0\n\r\t\\'/");
}

Intentionally left blank


  • pderaaij
  • Registratie: Oktober 2005
  • Laatst online: 18-08-2025
Dank je!!
Pagina: 1