【发布时间】:2017-10-12 20:57:36
【问题描述】:
我有以下代码,在单击按钮时,我对 c# 控制器进行了 ajax 调用。我还需要将一些值传递回控制器。
var array = JSON.stringify(myArrayList);
$.ajax({
type: "POST",
dataType: 'json',
data: {
'type': vm.myType,
'mod': vm.myMod,
'ar' : array
},
url: rootDir + "/Home/GetData",
success: function (data) {
console.log(data);
},
error: function (xhr, status, error) {
console.log("Error");
}
});
在我的 c# 控制器中,我有:
[HttpPost]
public IActionResult GetData(string type, string mod, string ar)
{
//I can get type and mod but having issues in getting my array data
}
我的数组数据如下:
[{"id":"1","name":"John"},{"id":"2","name":"Steve"}]
在我的循环中,我想获取 is 和 name 值。我试过了
JArray v = JArray.Parse(ar);
但不能循环并获取值
更新:
我认为我的 json 数组存在问题,因此我无法在我的 c# 控制器中获取 json 数组的值。
当我在 java 脚本中调试我的数组时,它的值如下:
Array(2)
0 Object
id: "1"
name: "John"
1 Object
id: "2"
name: "Steve"
我使用 Json.stringify 后如下:
var array = JSON.stringify(myArrayList);
现在在我的 C# 控制器中,我得到的结果字符串为:
[{"id":"1","name":"John"},{"id":"2","name":"Steve"}]
我认为这是不正确的,因为当我使用以下代码时: 动态的东西 = JObject.Parse(ar);
它抛出错误:
'Error reading JObject from JsonReader. Current JsonReader item is not an object:
【问题讨论】:
-
查看我更新的问题。看起来我的数组构造不正确。我如何将数据发送到我的控制器是否存在一些问题