Маршрут:Ajax вызов с JQuery в ASP.NET MVC не передает параметры
routes.MapRoute(
"Ajax", // Route name
"BizTalk/Services/{action}", // URL with parameters
new
{ // Parameter defaults
controller = "BizTalk"
}
);
Мой контроллер:
public JsonResult AjaxTest(string s, int i, bool b)
{
return Json("S: " + s + "," + "I: " + i + "," + "B: " + b);
}
Мой JQuery Код:
$(document).ready(function() {
$("#btn_test").click(function() {
var s = "test";
var i = 8;
var b = true;
$.ajax({
type: "POST", cache: false,
url: "/BizTalk/Services/AjaxTest",
data: { i: i, s: s, b: b },
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function(msg) {
}
});
});
});
удаление контентаType сработал. но я хочу знать: 1 - если удаление contentType - это решение или небольшой трюк. 2- работает в каждом браузере. 3- и что не так? Я использовал приведенные выше коды в моем проекте WebForm просто отлично! – desmati
@desmati no это не трюк ... данные только что завернуты в виде полей формы, которые отправляются по вызову ajax, тогда имена полей правильно отображаются/привязаны к параметрам вашего действия по структуре –
Есть ли способ написать настраиваемое сопоставление параметров? – desmati