我有多個參數,我必須傳遞給API控制器。如何從視圖發送多個參數到API控制器在mvc4
我在做什麼是
在我的javascript
var routeInfo = JSON.stringify(routes);
var colors = JSON.stringify(colorsArray);
var times = JSON.stringify(mytimeArray);
var distances = JSON.stringify(myDistancArray);
var dir = $("#Direction").val();
var fullString = routeInfo + ";" + colors + ";" + times + ";" + distances+";"+dir;
$.post("api/HomeToSchool/?route=" + fullString,
function (data) {
if (data = true) {
alert("Routes Saved Successfully");
}
else if (data = false) {
alert("Routes are not saved");
}
});
&在我的控制器
public bool PostHomeToSchoolRoutes([FromUri]string route)
{
// my logic
}
在這裏,我只是讓 「routeInfo」 &其他值的值不正在添加。 例如
var routeInfo = [["Børge,Brogade 38, 4100, Ringsted,09:25:00,55.43953, 11.79043","Grete,Sjællandsgade 27, 4100, Ringsted,09:25:00,55.44024, 11.78852","Else,Fynsgade 14, 4100, Ringsted,09:25:00,55.44128, 11.78595","Birthe,Eksercerpladsen 47, 4100, Ringsted,09:25:00,55.44954, 11.80309","Knud Lavard Centret, Eksercerpladsen 3, 4100, Ringsted,370,55.45014, 11.80474"]]
var colors = ["#886A52"]
var times = [7.97]
var distances = [3.36]
var dir = 0
我在控制器得到的是
[["Børge,Brogade 38, 4100, Ringsted,09:25:00,55.43953, 11.79043","Grete,Sjællandsgade 27, 4100, Ringsted,09:25:00,55.44024, 11.78852","Else,Fynsgade 14, 4100, Ringsted,09:25:00,55.44128, 11.78595","Birthe,Eksercerpladsen 47, 4100, Ringsted,09:25:00,55.44954, 11.80309","Knud Lavard Centret, Eksercerpladsen 3, 4100, Ringsted,370,55.45014, 11.80474"]];["
其他值不來了。 我在這裏做什麼錯。
HomeToSchool是控制器名稱&PostHomeToSchoolRoutes是該控制器中的方法。 – 2013-04-27 13:04:02
沒有注意到我們不應該在這種情況下使用JSON.stringify,而是讓jquery爲我們序列化參數。有三件事情要檢查:不要使用JSON.stringify,添加「傳統:真實」,並確保「路線」JavaScript數組是一維的。看看我的更新回答下面(測試) – 2013-04-28 01:51:03