http.responseTextに問題があります(常に空です)。私は私のコードを投稿します:http.responseText empty
function bCheckName()
{
// It checks if the browser can allow a http request
if (window.XMLHttpRequest)
{
xhttp = new XMLHttpRequest();
}
else
{
// for IE6, IE5
xhttp = new ActiveXObject("Microsoft.XMLHTTP");
}
// It takes the name from the form
var firstName = document.getElementById("firstName").value;
var datastring = "firstName=" + firstName;
var datastring_escaped = encodeURIComponent (datastring);
// It opens the request to thye server
xhttp.open ("POST", "../form/formValidation.php", true);
// It sets the header
xhttp.setRequestHeader("Content-type", "application/x-www-form-urlencoded");
// It sends the data to the server
xhttp.send(datastring_escaped);
// It takes the responde from the server
xhttp.onreadystatechange = function()
{
if (xhttp.readyState == 4 && xhttp.status == 200)
{
var string = xhttp.responseText.substr (0, 2);
var response = xhttp.responseText.substr (5);
if (string == "OK")
{
document.getElementById("nameResponse").innerHTML = '<img src = "../img/pages/contact/true.png" alt = "correct answer" >';
document.getElementById("response").innerHTML = response;
}
else
{
document.getElementById("nameResponse").innerHTML = '<img src = "../img/pages/contact/error.png" alt = "wrong answer">';
document.getElementById("response").innerHTML = response;
}
}
}
return false;}
"xhttp.send(datastring_escaped); "xhttp.send(datastring);"で、すべてが期待どおりに動作します。どうすれば問題を解決できますか?私はまた、PHPコードを投稿します:
if (isset($_POST['firstName']))
{
echo("OK - ".urldecode ($_POST['firstName']));
}
どうすれば問題を解決できますか? 事前に感謝!
のFrancesco
私はあなたが私は 'と考え、これらの日;-) – fire
onreadystatechange' IE 5または6をサポートする必要はないと思う:あなたは本当にそれをエンコードする必要がある場合は
、その後のみ
firstName
変数をエンコード関数は 'send'の前に設定する必要がありましたが、' datastring'で動作すると言うなら、そうであってはいけません。とにかく、それが 'datastring'で動作するなら、なぜトラブルを経験するのですか? – Kaddath