Я пытаюсь начать изучение AJAX, и я уже попал в маленький пень. Поэтому я начинаю просто и просто пытаюсь вывести предупреждение, чтобы показать длину строки, которую пользователь вводит в текстовое поле.Простой код AJAX не распознается
HTML-:
<form action="/scripts/addemail_fb.php" method="post">
<input type="text" name="email" value="Enter your email here!" />
<input id="submit" type="submit" name="submit" value="Go!" onClick="check(this.form.email.value);"/>
</form>
JS:
function check(email) {
if (window.XMLHttpRequest) {
req = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
req = new ActiveXObject("Microsoft.XMLHTTP");
}
email=encodeURIComponent(email);
req.open("POST","/scripts/addemail.php");
req.setRequestHeader(
'Content-Type',
'application/x-www-form-urlencoded; charset=UTF-8');
req.send(email);
req.onreadystatechange=function() {
if(req.readyState==4) {
result = req.responseText;
alert("The length of the email is:" + result);
}
}
return false;
}
РНР (addemail.php):
<?php
function check_email($input) {
return strlen($input);
}
$email = urldecode(implode(file('php://input')));
$result = check_email($email);
echo $result;
?>
И да, я включала JS в раздел. Я получил это почти непосредственно из учебника, поэтому я не уверен, что происходит. Мой браузер тестирования - Safari, но я также пробовал FF. Извините, это очевидно, так как это моя первая попытка AJAX. Благодаря!
EDIT: Извините, проблема в том, что он просто переходит к файлу, описанному в action = "addemail_fb" вместо JS.
-iMaster
Вы действительно хотите описать проблему? –
Не унывайте, вы получите это; однако людям гораздо легче помочь, если вы расскажете, что происходит, и как это отличается от того, что вы ожидаете. Много раз, формируя вопрос таким образом, вы получаете ответ, который вы ищете. – tempire