jQuery AJAX POST变成了GET

时间:2012-05-22 20:41:14

标签: jquery forms html5 post get

我正在尝试使用jQuery将表单数据发送到当前页面以进行变量处理。当我发送POST请求时,服务器收到GET请求,我的URL更改为匹配该GET。我知道如果我不隐式使用type: "POST",jQuery会自动转向GET请求,但这是我相信的。任何帮助将不胜感激。

<script>
    function addadomain(){
        $.ajax({
            type: "POST",
            url: "domains.php",
            data: $("#domainform form").serializeArray(),
            success: function() {
                $("#domainlist").load("domains.php #domainlist");
                $.ajaxSetup({ cache: false });
            }
        });
        return false;
    };
</script>

<a id="displayText" href="#" onclick="toggle();" >Add Domains</a> 

<div id="toggleText" style="display: none">
    <form name="adddomain" id="domainform" autocomplete="on">
        <input type="hidden" name="userid" id="userid" value="<?PHP echo $loggedInUser->user_id; ?>" />

        Domain: <input type="text" name="domain" id="domain" required="required" /><br />
        Keyword: <input type="text" name="keyword" id="keyword" required="required" /><br />
        Facebook Url: <input type="text" name="facebook" id="facebook" /><br />
        Twitter Url: <input type="text" name="twitter" id="twitter" /><br />
        Analytics ID#: <input type="text" name="analytics" id="analytics" /><br />
        Blogspot Url: <input type="text" name="blogspot" id="blogspot" /><br />

        <input type="submit" onclick="addadomain()" id="submit" value="submit" />
    </form> 
</div>

1 个答案:

答案 0 :(得分:8)

您可能需要这样做:

e.preventDefault()

http://api.jquery.com/event.preventDefault/

加载页面时,您的提交不会在您的ajax调用之上执行默认操作...也可以在表单标记中添加表单操作action="post"