Не уверен, имеет ли функция $.post()
доступ к параметру str
. Попробуйте вместо этого:
<html>
<head>
<title>AJAX attempt with jQuery</title>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript">
$("document").ready(function(){
$('input').change(function() {
$.post("ajaxjquerytest.php",{'age': $(this).val()},function(response){
$("p").html(response);
});
});
});
</script>
</head>
<body>
<input type="text" />
<p>Age?</p>
</body>
</html>
Прикрепляет обработчик onChange
к элементу ввода после полной загрузки DOM.
Ваш подход также должен работать, если вы пропустите $(document).ready()
. Но присоединение функции JS к элементу - это больше, чем это делается с помощью jQuery.
Кроме того, вам нужно только обернуть код в $(document).ready()
, который должен выполняться после построения всего дерева DOM. Ваш случай, вы определяете только функцию. Нет необходимости использовать готовый документ, так как функция не может быть вызвана, пока DOM не будет загружен.
Прочитайте документацию .post()
!