Archief - AJAX: combinatie van telenet-scripts gastenboek.cgi en form.cgi

Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.

hypertonic

Legacy Member
Ik gebruik op mijn site het telenet gastenboek 2.0 (http://users.telenet.be/bnhimself/gastenboek/) dat gebruik maakt van gastenboek.cgi van telenet zelf. Wanneer er een nieuw bericht gepost wordt stuurt gastenboek.cgi je door naar okurl.html, wat het gastenboek update en je terugstuurt naar het gastenboek.
Nu zou ik in okurl.html een AJAX-request aan de server willen doen en een ander script van telenet (form.cgi) gebruiken om automatisch naar mezelf een mail te sturen als er iets nieuws gepost is. Ik heb geprobeerd de code te schrijven, maar ze werkt niet, en ik heb geen idee waarom niet ze staat hieronder. Als er iemand de fout vind, ik zou ze maar al te graag ontdekken.

Code:
<html>
<head>
<title>OK</title>


</head>

<body>

<script language="javascript" type="text/javascript">
   var http_request = false;
      if (window.XMLHttpRequest) 
   {
      http_request = new XMLHttpRequest();
      if (http_request.overrideMimeType)
	  	 {
            http_request.overrideMimeType('text/html');
         }
   }
   else if (window.ActiveXObject)
   {
       try 
	   {
          http_request = new ActiveXObject("Msxml2.XMLHTTP");
       }
	   catch (e)
	   {
          try
		  {
             http_request = new ActiveXObject("Microsoft.XMLHTTP");
          }
		  catch (e) {}
       }
   }
   if (!http_request)
   {
      return false;
   }
   
   http_request.open('POST', 'cgi-bin/form.cgi', true);
   http_request.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
   http_request.onreadystatechange = function()
   {  
     if (http_request.readyState == 4)
	  {
	  	if (http_request.status == 200) 
		{
	      	var url = window.location + "";
          	if(url.indexOf('cgi-bin/gastenboek.cgi')!=-1)
			{
	      		url = url.substr(7,url.length-7);
				urlarray = url.split(/\//gi);
				lengte2 = url.length;
				lengte1 = url.indexOf(urlarray[3]);
				var pad = url.substr(lengte1,lengte2-lengte1);
				window.location = 'http://users.telenet.be/' + pad + '/gastenboek.html';
			}
			else
			{
				url = url.substr(7, url.length);
				urlArray = url.split('/');
				map = '';
				for(i=1; i < urlArray.length-1; i++)
				{
					map += '/' + urlArray[i];
				}
				window.location = 'http://users.telenet.be' + map + '/gastenboek.html';
			}       
	  	}
	  }
   	}
   http_request.send("MAILFILE=mijnDirectory/test/mailfile.txt&[email protected]&REPLYFAULT=mijnDirectory/test/gastenboek.html&REPLYOK=mijnDirectory/test/gastenboek.html&naam=mijnNaam");  
</script>
</body>
</html>
Het archief is een bevroren moment uit een vorige versie van dit forum, met andere regels en andere bazen. Deze posts weerspiegelen op geen enkele manier onze huidige ideeën, waarden of wereldbeelden en zijn op sommige plaatsen gecensureerd wegens ontoelaatbaar. Veel zijn in een andere tijdsgeest gemaakt, al dan niet ironisch - zoals in het ironische subforum Off-Topic - en zouden op dit moment niet meer gepost (mogen) worden. Toch bieden we dit archief nog graag aan als informatiedatabank en naslagwerk. Lees er hier meer over of start een gesprek met anderen.
Terug
Bovenaan