Gehe ich richtig mit Ajax um?
    
bla
    
    
      
    
  - javascript
- 0 Don P
- 0 dr. english- 0 steckl
 
 nicht angemeldet
 nicht angemeldetSchaut mal, so sieht bei mir ein kleines Javascript aus:
<a href='javascript:;' onclick='return klick();'>Klick</a>
  
  
/*  
* Request erzeugen  
*/  
function getReq(){  
var req = null;  
try{  
	req = new XMLHttpRequest();  
} catch (ms){  
	try{  
		req = new ActiveXObject("Msxml2.XMLHTTP");  
	} catch (nonms){  
		try{  
			req = new ActiveXObject("Microsoft.XMLHTTP");  
		} catch (failed){  
			req = null;  
		}  
	}  
}  
if (req==null) alert("Error creating request object!");  
return req;  
}  
  
function newSteckEntry(e){  
	if(e==""||!e){alert(e);return false;}  
	// Request holen  
	var req = getReq();  
	req.open("POST","/NameEiner/Funktion",true);  
	req.onreadystatechange = function(){  
		switch(req.readyState) {  
			case 4:  
				if(req.status!=200) {  
					alert("Es ist ein Fehler aufgetreten!");	  
				}else{  
					window.location.reload();  
				}  
			break;  
			default:  
				return false;  
			break;  
		}  
	};  
	req.setRequestHeader("Content-Type","application/x-www-form-urlencoded");  
	req.send(null);  
}
Ist das okay so oder könnte ich irgendwas besser machen / vereinfachen / "sauberer" machen?
Gruß, blabla
Hallo,
Ist das okay so oder könnte ich irgendwas besser machen / vereinfachen / "sauberer" machen?
Mal abgesehen von Axax:
if(e==""||!e)[...]
Da würde einfach if(!e) ausreichen.
if (req==null)[...]
Es macht im Allgemeinen wenig Sinn, gegen "", 0, undefined, null, false oder true mit == zu vergleichen, weil z.B. auch ' \t\r\n' == 0 gilt. Solche Vergleiche sollten ohne Typumwandlung, d.h. mit === gemacht werden, oder aber, wenn man die automatische Typumwandlung wirklich will, ganz ohne Vergleichsoperatoren, also mit if(bla) bzw. if(!bla).
Gruß, Don P
function newSteckEntry(e){
ich nehm an, du meinst einen "stAck" ;)
Hi,
function newSteckEntry(e){
ich nehm an, du meinst einen "stAck" ;)
... oder mich ;)
mfG,
steckl