У меня есть веб-страница, которая использует JQuery для связи с бэкэндом. У меня есть некоторые действия POST. Однако теперь у меня есть действие GET, и я заметил, что значения параметров, переданные ему, являются нулевыми. Мои действия POST работают просто отлично. Я не могу понять, почему.
Из моего файла .html у меня есть следующий запрос JQuery:
var vm = { emailAddress:"someone@somewhere.com" };
$.ajax({
url: "/myService/myAction",
type: "GET",
data: JSON.stringify(vm),
contentType: "application/json",
success: myAction_Succeeded,
error: myAction_Failed
});
В моем контроллере у меня есть:
public class MyServiceController : Controller
{
[AcceptVerbs(HttpVerbs.Get)]
public ActionResult MyAction(string emailAddress)
{
return Json(new { address:emailAddress });
}
}
Мой маршрут настроен следующим образом:
context.MapRoute(
"MyAction",
"myService/{controller}/MyAction",
new { controller = "MyService", action = "MyAction" }
);
У меня есть догадка, что я что-то упустил в своем маршруте. Но я не уверен, что это такое. Я придерживался того же синтаксиса, который использовал в своих действиях POST. Параметры с этими действиями работают просто отлично. Но параметры с моими действиями GET, как и выше, имеют нулевые значения. У меня вопрос: что я делаю не так и что если мне нужно передать несколько параметров?
Большое спасибо за вашу помощь!