Hallo allemaal,

Ik ben bezig met een script waarbij de gebruiker een "antwoord" op een bepaalde vraag moet geven. Of het antwoord goed is of niet, wil ik met AJAX onder de vraag weergeven. Dit lukte, totdat ik javascript wilde gaan gebruiken.

In het bestand dat AJAX toevoegt aan de pagina staat wat javascript, waaronder een . Deze regel wordt volgens Chrome wel in de source weergegeven, maar de browser doet er niets mee. Ook iets simpels als alert("Hello World") werkt niet...

Hieronder mijn AJAX code. Volgens velen op internet een bekend probleem, maar nergens kom ik een werkende oplossing tegen.


 
<script type="text/javascript">
function getGameResults(str)
{
if (str.length==0)
  { 
  document.getElementById("gameResults").innerHTML="";
  return;
  }
if (window.XMLHttpRequest)
  {// code voor IE7+, Firefox, Chrome, Opera, Safari
  xmlhttp=new XMLHttpRequest();
  }
else
  {// code for IE6, IE5
  xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
  }
xmlhttp.onreadystatechange=function()
  {
 
  if (xmlhttp.readyState==4 && xmlhttp.status==200) {
    result = xmlhttp.responseText;
    document.getElementById("gameResults").innerHTML = result;
  }
 
  }
 
xmlhttp.open("GET","the_game_results.php?p="+str,true);
xmlhttp.send();
}
</script>

Ik ben bijna niet bekend met programmeren in JQuery, dus een voorbeeldje zou in dat geval heel erg handig zijn (A)
jquery heeft een hele mooie uitgebreide documentatie:
http://api.jquery.com/jQuery.ajax/

ik doe het meestal zelf op de volgende manier:

                        $.ajax(
                        {
                            type: "POST", 
                            url: "ajax.php", 
                            data: "action=watjewil",	// Hier moet je alles invullen wat je mee wilt sturen. dit moet op de manier van een get, in je ajax.php haal je het dan op met $_POST
							// bij dit voorbeeld haal je het dan op met $_POST['action'] en er komt dan "watjewil" uit
                            complete: function(data)
                            {
                                if(data.responseText == "error")
                                {
                                    alert("Er was een fout.");
                                }
                                else
                                {
                                    //doe je ding hier
                                }
                            }
                        });
Thanks, dat helpt me al verder... Maar hoe voeg je daar dan variabelen in? Is dat net zoals in javascript of php?

Dus zoiets:

  $.ajax(type, file, p,
    {
      type: type, 
      url: file, 
      data: "p="+p,
      complete: function(data)
 ...


En dan in de pagina <a onclick=".ajax('POST', 'the_game_results.php', '17');"></a> ??
Waarom zeg iedereen op iedere JavaScript vraag: jQuery?
Denk na mensen, je gaat niet een heel framework laden voor een simpele AJAX request...
Als je die gebruikt die google gehost wordt, dan zal grotendeels van de gebruikers die al hebben geladen
Roel van de Water op 02/09/2011 20:46:28

Waarom zeg iedereen op iedere JavaScript vraag: jQuery?
Denk na mensen, je gaat niet een heel framework laden voor een simpele AJAX request...


Waarom zou je iets in 10 uur bouwen als het ook in 15 minuten kan? En vaak is de behoefte om een ding te bouwen en wordt dat automatisch meer. Een website met 1 javascript functie komt al bijna niet meer voor.

En inderdaad als je bijv. Google CDN pakt dan hebben al heel veel mensen die gedownload.
Oh? Lekker slim.
Je vertrouwt dus teveel op je framework. Als je dan een keer zonder internet aan een project begint ben je dus de lul.

Maar niemand bekijkt het zo, iedereen vertrouwt teveel op jQuery.
Roel van de Water op 02/09/2011 23:23:52

Oh? Lekker slim.
Je vertrouwt dus teveel op je framework. Als je dan een keer zonder internet aan een project begint ben je dus de lul.

Maar niemand bekijkt het zo, iedereen vertrouwt teveel op jQuery.


Wil je offline werken aan je projecten, maak dan zeker dat er een jquery bestandje op je pc staat ;)
Roel van de Water op 02/09/2011 23:23:52

Oh? Lekker slim.
Je vertrouwt dus teveel op je framework. Als je dan een keer zonder internet aan een project begint ben je dus de lul.

Maar niemand bekijkt het zo, iedereen vertrouwt teveel op jQuery.


Ik dacht dat jij jQuery ook super handig vond...
Ongeveer iedereen vind het wel handig.

Reageren