这是我第一次使用jquery,我正在尝试设置一个简单的AJAX,这样我就可以更好地理解它是如何工作的。不幸的是,我知道的并不多。下面是包含脚本的HTML:
<html>
<head>
 <title>AJAX attempt with jQuery</title>
 <script type="text/javascript" src="jquery.js"></script>
 <script type="text/javascript">
   function ajax(str){
   $("document").ready(function(){
     $.post("ajaxjquerytest.php",str,function(){
       $("p").html(response);
       });
     });
 </script> 
</head>  
<body>
 <input type="text" onchange="ajax(this.value)"></input> 
 <p>Age?</p>
</body>
</html>下面是它正在与之对话的PHP:
<?php
$age = $_POST['age'];
if ($age < 30)
  {
  echo "Young";
  }
else if ($age > 30)
  {
  echo "Old";
  }
else
  {
  echo "you're 30";
  }
?>发布于 2010-03-16 05:26:44
不确定$.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>这会在DOM完全加载后将一个onChange处理程序附加到输入元素。
如果您省略了$(document).ready(),那么您的方法也应该有效。但是将JS函数附加到元素更像是使用jQuery完成的。
除此之外,您只需要将代码包装到$(document).ready()中,这些代码应该在构建整个DOM树之后执行。你的例子,你只是定义了一个函数。不需要使用document ready,因为在加载DOM之前无法调用该函数。
阅读.post()的文档!
https://stackoverflow.com/questions/2450591
复制相似问题