如何使用ajax获取php响应

时间:2014-10-03 09:05:29

标签: php html ajax

在html网页中,我希望在<span>..</span>中显示PHP响应。 谁能告诉我怎么做或其他代码有什么问题? 谢谢~~ ^^ 网络代码:

<html>
   <head>
     <script type="text/javascript">    
       $("#submit").click(function(){
           $.ajax({
               type: 'get',
               url: 'php/test.php',
               dataType:'json',
               success: function(data) { 
                  //dosomething.....
               },
           });
       });
     </script>
   </head>
   <body>
       <form method="post">
           <input id="submit" type="button" value="next">
       </form>
       <br><br><span id ="status"></span>
   </body>
</html>

php代码:

<?php
echo ("success");
?>

3 个答案:

答案 0 :(得分:0)

收到回复后,请执行以下操作

$("#submit").click(function(){
           $.ajax({
               type: 'get',
               url: 'php/test.php',
               dataType:'json',
               success: function(data) { 
                  $("span#status").html(data);
               },
           });
       });

答案 1 :(得分:0)

这不起作用,因为提供的数据类型不是JSON ... jQuery中的 dataType 属性必须与使用PHP发送的数据类型相匹配。

要使用简单的“成功”消息,您可以执行以下操作:

$("#submit").click(function(){
   $.ajax({
       type: 'get',
       url: 'php/test.php',
       dataType:'html',
       success: function(data) { 
          $("span#status").html(data);
       },
   });
});

答案 2 :(得分:0)

因为你使用dataType: "json",AJAX函数认为它获得了一个JSON数组。但是,因为你只回应&#34;成功&#34;在你的php中,它不会解析为JSON。

您应该使用json_encode()在PHP中对您的输出进行JSONify,之后您可以在ajax中调用succes回调,或使用.done函数;

$("#submit").click(function(){
    $.ajax({
        type: 'get',
        url: 'php/test.php',
        dataType:'json',
        success: function(data) { 
            $("span#status").html(data);
        }
    });
});

.done 功能:

$("#submit").click(function(){
    $.ajax({
        type: 'get',
        url: 'php/test.php',
        dataType:'json',
    }).done(function(data) {
        $("span#status").html(data);
    });
});

在我看来,.done函数更易于提高可读性和可维护性。