2011-04-01 97 views
0

我想通过我的$ .ajax调用发布我的字符串'selected',但控制器(selected = null)接收到空值?根据fiddler选择了一个值({'selected':0100})?字符串不传递给控制器​​

[HttpPost] 
public ActionResult Index(string selected) 
{ 
    return Json(new {value = "this is a test"}); 
} 

$(document).ready(
    $("#btnSave").click(
     function() { 
     var checkboxesselected = "0100"; 

     $.ajax({ type: 'POST', 
      url: "/Home/Index", 
      datatype: 'json', 
      data: "{'selected':" + checkboxesselected + "}" 
     }); 
    } 
) 
+0

“{'selected':'”+ checkboxesselected +“'}”? (价值增加单引号) – CRice 2011-04-01 07:32:57

+0

不提交作为答案,因为这只是一个模糊的回忆,我现在不能测试...尝试包装复选框选中引号,所以你会发送'{'选择':'0100 “}'。我记得几个月前几次遇到这个问题。 – Sapph 2011-04-01 07:33:55

回答

1

问题是你发送数据到jQuery作为字符串文字而不是对象。您与数据参数线应data: {selected: checkboxesselected }

0

尝试:

var val = { selected: checkboxesselected }; 

,然后: ...

datatype: 'json', 
data: val 

...

0

你错过了周围的引号“checkboxes selected”

$(document).ready(
    $("#btnSave").click(
     function() { 
     var checkboxesselected = "0100"; 

     $.ajax({ type: 'POST', 
      url: "/Home/Index", 
      datatype: 'json', 
      data: "{ 'selected' : '" + checkboxesselected + "'}" 
     }); 
    } 
)