jQuery AJAX POST превращается в GET

Я пытаюсь отправить данные формы на текущую страницу для обработки переменных с помощью jQuery. Когда я отправляю запрос POST, сервер получает запрос GET, и мой URL-адрес изменяется в соответствии с этим GET. Я понимаю, что jQuery автоматически обращается к запросу GET, если я не неявно использую type: "POST", но я считаю, что это то, что я делаю. Любая помощь будет оценена.

<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 ответов


вы должны:

e.preventDefault()

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

при загрузке страницы, чтобы ваш submit не выполнял свое действие по умолчанию поверх вашего вызова ajax...кроме того, вы можете добавить действие формы в свой тег формы action="post"