这个jquery ajax帖子有什么问题?

I'm trying to post some form data and return results but I am having trouble getting this to work:

The javascript:

<script type="text/javascript">
    $(document).ready(function () {

        $("#sendthis").click(function () {

            $.ajax({
                type: "POST",
                data: $('#theform').serialize(),
                cache: false,
                url: "form.php",
                success: function (data) {

                    alert(data);

                }
            });

            return false;

        });

    });
</script>

The HTML:

<form id="theform">
    <input type="text" class="sized" name="name" id="name"><br />
    <input type="text" class="sized" name="email" id="email">
</form>

<a href="#" id="sendthis">Submit</a>

The page to post to (form.php):

<?php
if (isset($_POST['name'])){
    $result = $_POST['name'];
}

echo $result;
?>

Now, it is my understanding that when the form is submitted, it would post to form.php, and the input value of "name" would be returned in an alert box. However, I can't seem to get the form data posting (or maybe returning) correctly.

Is it a problem with $('#theform').serialize()? Maybe something else?

Any help is much appreciated.

Try this and see if it works

<form id="theform" action="/form.php">
    <input type="text" class="sized" name="name" id="name"/><br />
    <input type="text" class="sized" name="email" id="email" /><br />
    <input type="submit" name="submit" value="Submit" />
</form>

The jquery

$("#theform").on('submit', function () {
    $.post($(this).attr('action'), $(this).serialize(), function(data) {
        alert(data);
    });
    return false;   
});

I would add an error callback to your ajax request to catch if there are issues being encountered during the post. Do you have a debugger like firebug that can show you what data is being posted (and where)?