使用jQuery发送ajax调用

时间:2012-03-26 22:23:26

标签: php jquery ajax

所以我试图让jquery发送一个ajax调用来更新评论数据库。我似乎无法找到代码的错误。整天都在互联网上试图找出答案。

<div class="comment">
<textarea name="comment" onkeydown="test(event)"></textarea>
</textarea>
</div>

    function test(event) {
    if (event.keyCode==13) {
         var comment = $('textarea[name=comment]');
        $.ajax({
          type: "GET",
          url: "commentupdate.php",
          data: "comment=" + comment,
        });
        $('.comment').hide();
        $('#container').isotope('reLayout');
    }
}

commentupdate.php

include('MasterHub_DBCon.php');
$COOKIEINFO = $_COOKIE['masterhub_user']; $USERCOOKIEINFO = explode('+', $COOKIEINFO); 
$comment = $_REQUEST['comment'];
$sql = "INSERT INTO `dmech_main`.`COMMENTS` (`ID`, `USERNAME`, `COMMENT`, `COMMENTID`) VALUES (NULL, \'' .             $COOKIEINFO['0'] . '\', \'' . $comment . '\', \'' . $_SESSION['COMMENTID'] . '\');";
mysql_query($sql);

3 个答案:

答案 0 :(得分:1)

我猜错了val()。试试 -

var comment = $('textarea[name=comment]').val();

而不是 -

var comment = $('textarea[name=comment]');

答案 1 :(得分:0)

我会尝试将javascript放在

<script> 

开头的标签。

答案 2 :(得分:0)

您需要自己编码数据并传递字符串或传递对象:

1

<script type="text/javascript>

function test(event) {
   if (event.keyCode==13) {
      var comment = $('textarea[name=comment]');
      $.ajax({
         type: "GET",
         url: "commentupdate.php",
         data: "comment=" + encodeURIComponent(comment)
         });
      $('.comment').hide();
      $('#container').isotope('reLayout');
   }
}

</script>

2:

<script type="text/javascript>

function test(event) {
   if (event.keyCode==13) {
      var comment = $('textarea[name=comment]');
      $.ajax({
         type: "GET",
         url: "commentupdate.php",
         data: { comment: comment }
         });
      $('.comment').hide();
      $('#container').isotope('reLayout');
   }
}

</script>

引自http://api.jquery.com/jQuery.ajax/

  

数据

     

要发送到服务器的数据。如果不是字符串,它将转换为查询字符串。它附加到GET请求的URL。请参阅processData选项以防止此自动处理。对象必须是键/值对。如果value是一个数组,jQuery会根据传统设置的值使用相同的键序列化多个值(如下所述)。