0

请帮帮我!

我的页面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);
    }

我错过了什么?

4

4 回答 4

0

你可以试试下面的代码

         $("#banksBody>img").each(function() {


        $(this).click(function(){


          var id = $(this).attr('id');


            });


          });
于 2013-01-11T10:14:48.320 回答
0

尝试这个

$("#banksBody>span").each(function() {


$(this).click(function(){


var id = $(this).attr('id');

$.ajax({
    url: "Home/Test",
    type: "POST",
    traditional:true,
   data: {id:id},
   dataType: "json",
    contentType: "application/json; charset=utf-8",
    success: function (result) {
        if (result!="") {
            alert(result);
    }
    });           
       });


    });
于 2013-01-11T11:02:24.120 回答
0

您必须在发布请求中提供参数名称:

$.ajax({
        url: "Home/Test",
        type: "POST",
        data: {'id' : JSON.stringify(id)}
    });    
于 2013-01-11T09:12:50.817 回答
0

请检查data: JSON.stringify(id),我认为stringify需要多一个参数的代码

试试这个:

data: {"id":id},
于 2013-01-11T09:14:41.510 回答