Здравствуйте! Только начинаю изучать ASP.NET MVC 3.
Необходимо реализовать вызов ajax.
var urlStr = "~/Account/Register/MyMethod";
$.ajax({
url: urlStr,
dataType: "json",
type: "GET",
contentType: 'application/x-www-form-urlencoded; charset=utf-8', //replace /json to the urlenoded
data: { name: 'Rintu', email: 'Rintu@gmial.com' }, // data is not json
async: true,
processData: true, //important to use it as true
cache: false,
success: function () {
alert('OK');
},
error: function (xhr) {
alert('error ' + urlStr);
}
});
У меня всегда ошибка (error), хотя в файле AccountController создал соотв. метод.
[HttpGet]
public JsonResult MyMethod()
{
Console.WriteLine("Hi, friend");
return Json("Response from Find", JsonRequestBehavior.AllowGet);
}
Насколько я понимаю, надо правильно зарегистировать маршрут в файле Global.asax в функции RegisterRoutes
Что там надо написать для корретного вызова моего метода MyMethod?
Здравствуйте, x1, Вы писали:
x1>var urlStr = "~/Account/Register/MyMethod";
Ты серверный и клиентский код не перепутал? На клиенте никаких тильд, просто /Account/Register/MyMethod.
x1> data: { name: 'Rintu', email: 'Rintu@gmial.com' }, // data is not json
x1>У меня всегда ошибка (error)
Какая конкретно? Какой код приходит с сервера? Что в теле ответа?
x1>[cs]
x1> [HttpGet]
x1> public JsonResult MyMethod()
Зачем тебе JsonResult, если никакого json ты не возвращаешь? И, это, параметры где?
public string MyMethod(string name, string email)
x1>Насколько я понимаю, надо правильно зарегистировать маршрут в файле Global.asax в функции RegisterRoutes
Если у тебя веб-проект создан не в совсем древней студии, то достаточно просто повесить атрибут на метод:
[Route("Account/Register/MyMethod")]
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
Здравствуйте, x1, Вы писали:
x1>x1> var urlStr = "~/Account/Register/MyMethod";
x1>
x1>У меня всегда ошибка (error), хотя в файле AccountController создал соотв. метод.
поправь ссылку.
Либо роутинг пропиши в Global.asax.cs, сэмплов куча.
З.Ы.
Лучше взять последний mvc. Третий тоже ничего, но без асинхронных экшенов и удобного контроля пайплайна обработки реквеста будет грустно.