請幫助我!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'(注意多餘的'/'),或者只有當你的頁面在根目錄下時,鏈接纔會有效 –