JQuery Post - 为什么我看不到响应?

时间:2013-07-24 14:14:08

标签: php jquery html ajax

这是我的HTML PAGE

我想用ajax发送一些值然后我想用ajax响应来获取它们但是我看不到我的div中使用id=result调用的任何字符。问题在哪里?

   <html>
    <head>

     <!-- JQuery v1.8.2 -->
    <script src="theme/scripts/jquery-1.8.2.min.js"></script>

</head>
<body>

<div class="row-fluid">
    <div class="span4">

        <input type="text" id="title"/><br>
        <textarea rows="10" cols="50" id="content"></textarea><br>
        <input type="submit" id="gonderBtn" name="gonderBtn" />

        <div id="result"></div>

    </div>
</div>


    <script type="text/javascript">     
    jQuery(document).ready(function(){
        $("#gonderBtn").click(function(){
            var title   = $("title").val();
            var content = $("content").val();


         $.ajax({
             url: "deneme_action.php", 
             dataType: "html",
             type: 'POST',
             data: {
                 title: title,
                 content: content
             },
             success: function(data){ 
               $("result").html(data); 

             }
          });
        });
    });
    </script>


</body>

</html>

deneme_action.php

    <?php

if(isset($_POST["gonderBtn"])){

    $result = "Sonuc:".$_POST["title"];
     echo  "Selam:".$result;
}

else{
    echo "no post";
}


?>

5 个答案:

答案 0 :(得分:2)

因为您没有class="result"的标记,但您的标记为id="result" 将jQuery选择器更改为:

$("#result").html(data); 

或div标签:

<div class="result"></div>

和选择器:

$(".result").html(data); 

你没有发送gonderBtn POST - 修复它:

$("#gonderBtn").click(function(){
        var title   = $("#title").val();
        var content = $("#content").val();
        var gonderBtn = $(this).val();


     $.ajax({
         url: "deneme_action.php", 
         dataType: "html",
         type: 'POST',
         data: {
             title: title,
             content: content,
             gonderBtn: gonderBtn,
         },

我也修改了输入和textarea的选择器。

答案 1 :(得分:1)

您没有正确选择#result div,在

之前添加#
$("#result").html(data); 

所有选择器都是如此

var title   = $("#title").val();
var content = $("#content").val();

由于你的ajaxing你的表单,你必须手动传递你的按钮参数,虽然ajax参数更合适。

data: {
   title: title,
   content: content,
   gonderBtn: 'gonderBtn'
},

答案 2 :(得分:1)

var title   = $("title").val();
var content = $("content").val();

应该是

var title   = $("#title").val();
var content = $("#content").val();

您还需要更改:

$("result").html(data); 

$("#result").html(data); 

您还应该将输入包装在一个表单中。

编辑: 您可能希望为按钮输入一个值。

<input type="submit" id="gonderBtn" name="gonderBtn" value="go!" />

编辑2: 您还需要为您的html元素命名。

<input type="text" id="title" name="title"/><br>
<textarea rows="10" cols="50" id="content" name="content"></textarea><br>

答案 3 :(得分:1)

检查此行:

echo  "Selam:"+$result;

这里加上运算符是一个错误,因此php脚本没有返回任何内容。

检查记录在php中使用+运算符的this链接。

答案 4 :(得分:0)

 echo  "Selam:"+$result;

在php中使用“。”连接字符串。

 echo  "Selam:".$result;