2011-04-01 153 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 + "'}" 
     }); 
    } 
) 
相關問題