这个jquery文件中有错误吗?

时间:2010-09-18 07:16:06

标签: javascript jquery

$(document).ready(function(){    
    /* fetch elements and stop form event */
    var submitData = $("form.follow-form").submit(function (e) {
        /* stop event */
        e.preventDefault();
        /* "on request" */
        $(this).find('i').addClass('active');
        /* send ajax request */

        $.ajax({
            type: "POST",
            url: "recycle.php",
            data: submitData,
            dataType: "html",
            success: function(msg){
                if(parseInt(msg)!=0)
                {            
                    /* find and hide button, create element */
                    $(e.currentTarget)
                      .find('button').hide()
                      .after('<span class="following"><span></span>Recycled!</span>');
                }
            }    
        });
    });
});

我认为这个jquery语法有错误,或者它可能是我的php代码,我似乎无法找到它!

这是recycle.php

<?php session_start();
include_once ('includes/connect.php');

$id = $_POST['id'];
$tweet =$_POST['tweet'];


  mysql_query("INSERT INTO notes SET user_note='".$_POST['tweet']."',dt=NOW(),recycle_id='".$id."', user_id = '".$_SESSION['user_id']."' ");



?>

这是html代码

<form class="follow-form" method="post" action="recycle.php">
    <input name="id" value="$id" type="hidden">
        <input name="tweet" value="$tweet" type="hidden">
    <button type="submit" value="Actions" class="btn follow" title="123456">
        <i></i><span>recyle</span>
    </button>
</form>

2 个答案:

答案 0 :(得分:1)

您对submitData的使用对我来说很奇怪。您不必声明该变量,也不会包含表单的数据(我认为submit()不返回任何内容,因此submitData将为undefined)。
我想你必须这样做:

$("form.follow-form").submit(function (e) {
  //...
  $.ajax({
    type: "POST",
    url: "recycle.php",
    data: $(this).serialize(), // gets form data
    dataType: "html",
    success: function(msg){/*...*/}
  });
});

参考:.serialize()

答案 1 :(得分:-1)

如果你正在使用jQuery,你可能已经知道了这一点,但如果你使用Firebug,它应该会显示任何语法错误。只是一个想法。