Сообщение jQuery Ajax не передает параметры

Я пытаюсь использовать функцию jQuery $ .ajax () для отправки переменных формы в MVC маршрут. Проблема в том, что когда код попадает в мое действие MVC, все параметры равны нулю, даже если им передаются данные:

jQuery:

$(function () {
    $('#signupform').submit(function (e) {
        e.preventDefault();

        if ($(this).valid()) {
            var postData = '{name : "' + $("#Name").val() + '", email : "' + $("#Email").val() + '", message : "' + $("#Message").val() + '" }';

            $.ajax({
                url: "/api/contact-form-post",
                data: postData,
                type: "get"
            })
            .complete(function (data) {
                $("#formContainer").html($("#formThankYou").html());
            });
        }
    });
});

вызов alert (postData) выводит следующее:

{name : "Scott Smith", email : "scott@smith.com", message : "test message" }

Действие MVC:

public JsonResult ContactFormPost(string email, string name = "" , string message = "")
        {
            AddEmailToMailingList(email);

            if (!String.IsNullOrEmpty(name) && !String.IsNullOrEmpty(message))
            {
                InsertContactMessage(email, name, message);
            }

            return Json(true);
        }

Использование FireBug для проверки запроса показывает, что это вызываемый URL. Очевидно, что параметры URL-адреса имеют неправильный формат, но я не могу понять, почему.

http: // localhost:22scott@smith.com% 22,% 20message% 20:% 20% 22Test% 20message% 22% 20}

Совершаю ли я здесь какие-либо очевидные ошибки, из-за которых параметры моего метода ContactFormPost всегда будут нулевыми?

5
задан Trinidad 20 February 2011 в 04:53
поделиться