Как сделать простой вызов ajax с Jquery и ASP .Net 4 - PullRequest
0 голосов
/ 29 ноября 2011

Я пытаюсь следующее:

$("#button_feedback").click(function () {
    $.ajax({
        type: "POST",
        contentType: "application/json; charset=utf-8",
        url: $('#button_feedback').data('url'),
        data: "{message: " + $('#feedback_content_wrapper textarea').val() + " }",
        dataType: "json",
        success: function (data) {
            alert(data);
        }
    });
});

<input type="button" value="Enviar" class="button" id="button_feedback" data-url="@Url.Action("SendMail", "Contacto")"/>

И в моем контроллере:

public class ContactoController : Controller
    {
        ...

        public ActionResult Send_Mail(string message)
        {
            return Json(new { mensaje = "Correo enviado con éxito" });
        }
}

Однако я продолжаю получать:

POST http://localhost:11280/Contacto/SendMail404 Не найдено

Почему? Все кажется правильным !!! ...

Ответы [ 2 ]

1 голос
/ 29 ноября 2011

Ваше имя метода имеет подчеркивание. Либо измените имя своего метода, либо измените действие в UrlHelper в соответствии с подчеркиванием.

public ActionResult SendMail(string message) // note change from Send_Mail
{
    return Json(new { mensaje = "Correo enviado con éxito" });
}
0 голосов
/ 29 ноября 2011

После того, как вы исправите проблему с URL-адресом, вы захотите изменить способ обработки json в своем обратном вызове.

Вы хотите уведомить свойство mensaje о вашем результате JSON alert (data.mensaje);

Ваш текущий обратный вызов

success: function (data) {
   alert(data);
}

Просто покажет [object Object]

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...