这个jquery ajax帖子有什么问题


Whats wrong with this jquery ajax post?

我正在尝试发布一些表单数据并返回结果,但我无法使其正常工作:

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>

该 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>

要发布到的页面 (form.php):

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

现在,我的理解是,当提交表单时,它会发布到 form.php,并且"name"的输入值将在警报框中返回。但是,我似乎无法正确获取表单数据发布(或可能返回)。

$('#theform').serialize()有问题吗?也许别的什么?

任何帮助都非常感谢。

试试这个,看看它是否有效

<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>

jquery

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

我会在您的 ajax 请求中添加一个错误回调,以便在发布过程中遇到问题时捕获。 您是否有像Firebug这样的调试器,可以向您显示正在发布哪些数据(以及在哪里发布)?