Note that there are some explanatory texts on larger screens.

plurals
  1. POFirst small foodstore-project with ajax - does not execute
    primarykey
    data
    text
    <p>I have just started to learn Ajax and have watched a tutorial on how to write a small input that checks whether a foodstore has something in stock or whether it hasn't.</p> <p>I have double-checked the code several times but it still does not execute anything. I would be glad if anyone could help me here.</p> <p>The code is basically three files:</p> <p><strong>Index.html</strong></p> <pre><code>&lt;!DOCTYPE html&gt; &lt;html&gt; &lt;head&gt; &lt;script type="text/javascript" src="foodstore.js"&gt;&lt;/script&gt; &lt;/head&gt; &lt;body onload="process()"&gt; &lt;h3&gt;The Food Store&lt;/h3&gt; &lt;p&gt;Enter the food you would like to have:&lt;/p&gt; &lt;input type="text" id="userInput"&gt; &lt;div id="underInput"/&gt; &lt;/body&gt; &lt;/html&gt; </code></pre> <p><strong>foodstore.php</strong></p> <pre><code>&lt;?php header('Content-Type: text/xml'); echo '&lt;xml version="1.0" encoding="UTF-8" standalone="yes" ?&gt;'; echo '&lt;response&gt;'; $food = $_GET['food']; $foodArray = array('tuna', 'bacon', 'beef', 'ham'); if(in_array($food,$foodArray)) { echo 'We do have '.$food'!'; echo '&lt;/response&gt;'; } } ?&gt; </code></pre> <p><strong>and finally the foodstore.js</strong></p> <pre><code> var xmlHttp = createXmlHttpRequestObject(); function createXmlHttpRequestObject() { var xmlHttp; if(window.ActiveXObject) { try{ xmlHttp = new ActiveXObject("Microsoft.XMLHTTP"); } catch(e){ xmlHttp = false; } }else{ try{ xmlHttp = new XMLHttpRequest(); } catch(e){ xmlHttp = false; } } if(!xmlHttp) alert("Cant create that object!"); else { return xmlHttp; } } // This is now the communication part! function process() { if(xmlHttp.readyState==0 || xmlHttp.readyState==4){ food = encodeURIComponent(document.getElmentById("userInput").value); xmlHttp.open("GET", "foodstore.php?food=" + food, true); xmlHttp.onreadystatechange = handleServerResponse; xmlHttp.send(null); }else{ setTimeout('process()',1000); } } function handleServerResponse() { if(xmlHttp.readyState==4){ if(xmlHttp.status==200){ xmlResponse = xmlHttp.responseXML; xmlDocumentElement = xmlResponse.documentElement; message = xmlDocumentElement.firstChild.data; document.getElementById("underInput").innerHTML = '&lt;span styel="color:blue"&gt;' + message + '&lt;/span&gt;'; setTimeout('process()',1000); }else{ alter('Something went wrong!'); } } } </code></pre> <p>I would really appreciate some help. I also read in the youtube-comments that jQuery would rather be easier to use as far as the js part goes. Is that true?</p> <p>Many thanks!</p>
    singulars
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload