请帮助我!ajax函数没有传递给控制器的值
我有div
与几个银行的图像在我的_layout.cshtml
页面。每个图像有一个id
,比如说id "Jonota","Sonali","Rupali"
...等。现在,我使用jquery
,这样,当每个image
是clicked
, 我想该图像的id
传递给我的controller
。 我的jQuery的样子:
var a = $('div#banksBody img').size();
a.each($('div#banksBody img').click(function() {
$(this).addClass('bankIcons'); // this class is just for making the cursor > pointer in css
var id = this.id;
$.ajax({
url: "Home/Test",
type: "POST",
traditional:true,
data: JSON.stringify(id),
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function (result) {
if (result!="") {
alert(result);
}
});
}));
我的控制器看起来相当简单:
[HttpPost]
public JsonResult Test(string id)
{
return Json(id , JsonRequestBehavior.AllowGet);
}
我缺少什么?
标题表明,没有值传递给控制器,但在你的问题,你在你的问题作出任何进一步的澄清。它是否进入你的控制器,但它没有字符串的值?或者它根本没有得到映射方法? –
可以试试这个,从'var id = this.id;'改成'var id = $(this).id;' – DON
你的控制器是否被击中?你很想使用''/ Home/Test'(注意多余的'/'),或者只有当你的页面在根目录下时,链接才会有效 –