Ajax POST nem működik. - Megoldva -
Sziasztok!
Nemrég kezdtem el ajaxozni. Egyelőre localhoston ügyködök vele. Sajnos megakadtam. Azt szereném, hogyha a függvénynek megadok egy e-mail címet, akkor a mailcim.php lefutna és megnézné, hogy benne van-e az adatbázisban. Ha nincsen, akkor kiírja, hogy "jo". Ezt visszakapja a JavaScript és ennek megfelelően viselkedik.
A php tartalma (egyelőre
):
Az egyik gond az, hogy amikor lefuttatom, a
Kód:
if (XMLHttpRequestObject.readyState == 4 && XMLHttpRequestObject.status == 200)
-n belüli rész nem fut le.
Próbáltam GET-tel is. Ez már jobban működik, de a "good" változó valamiért átállítódik "false-ra".
A teljes függvény:
Kód:
function getOptions(email)
{
var good = false;
var url = "script/mailcim.php";
if(XMLHttpRequestObject) {
XMLHttpRequestObject.open("POST", url);
XMLHttpRequestObject.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
XMLHttpRequestObject.onreadystatechange = function()
{
if (XMLHttpRequestObject.readyState == 4 &&
XMLHttpRequestObject.status == 200) {
var joep = XMLHttpRequestObject.responseText;
if (joep=="jo"){good=true;}
}
}
XMLHttpRequestObject.send("email=" + email);
}
return good;
}
Kérlek, segítsetek kijavítani a hibát, vagy adjatok alternatív megoldást!
A válaszokat előre is köszönöm!
Késöbb:
Válasz ugyan nem érkezett, de megoldottam a problémát. Egy oldalon találtam egy forrást. Azt átalakítottam. Az eredmény ez lett:
Kód:
function getOptions(emal) {
strURL="script/mailcim.php";
var blnXMLHttpRequest = false;
//document.getElementsByName("submit")[0].disabled = true;
if(window.XMLHttpRequest) {
XMLEngine = new XMLHttpRequest();
if(XMLEngine) {
var blnXMLHttpRequest = true;
}
}
else if(window.ActiveXObject) {
XMLEngine = new ActiveXObject("Microsoft.XMLHTTP");
if(XMLEngine) {
var blnXMLHttpRequest = true;
}
}
else {
return true;
}
if(blnXMLHttpRequest) {
XMLEngine.open("POST", strURL, false);
XMLEngine.setRequestHeader("Content-Type", "application/x-www-form-urlencoded; charset=iso-8859-1");
XMLEngine.setRequestHeader("Connection", "close");
XMLEngine.send("emal="+emal);
if(XMLEngine.status == 200) {
var joe = XMLEngine.responseText;
if (joe=="jo"){return true;}
else {return false;}
}
else {
alert("Hiba történt a kapcsolatban. Kérlek, próbáld újra!");
}
}
else {
return true;
}
return false;
}
Remélem valakinek hasznára válik.