2012-03-26 82 views
0

所以即时尝试让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); 
+0

所以什么错误? – 2012-03-26 22:24:33

+0

你可以发布commentupdate.php的代码,所以我们知道它期待什么? – 2012-03-26 22:24:58

+0

so是commentupdate.php命中?或者打没有评论?要么 ...? – 2012-03-26 22:25:58

回答

0

我会尝试把javascript中的

<script> 

标签开始的内部。

+0

当然,我做到了这一点,我试图给尽可能小的信息尽可能 – 2012-03-26 22:28:22

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会根据传统设置的值(如下所述)使用相同的键序列化多个值。

+0

当我使用数据:{comment :评论}它完全冻结我的屏幕,直到我退出标签 – 2012-03-26 22:40:38

+0

当这种情况发生时,你是否得到任何错误? (检查JavaScript控制台) – poncha 2012-03-26 22:41:54

+0

顺便说一句,如果它的GET请求无论如何,那么你也可以自己构建url ...“commentupdate.php?comment =”+ encodeURIComponent(comment) – poncha 2012-03-26 22:43:45

1

你错过了val()我想。尝试 -

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

相反的 -

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