繁体   English   中英

从C#控制器将数组传递到JAVAScript

[英]Passing Array to JAVAScript from c# controller

我在c#中的对象列表上构建,并将其作为public async Task<JsonResult>从我的控制器作为return Json(thisVar)返回,然后在我的CSHTML中是这样的:

$.get(url,
      dataObject, 
      function (response) {
         alert(response);
         var allRes = JSON.parse(response);

我的第一个警报显示[object Object]

但出现错误:

未捕获到的SyntaxError:JSON中位置1处的意外令牌o

您的response已经是一个对象-无需解析它。

...
function (response) {
    var arr = response.riskPoint;
    for(var i = 0;i<arr.length;i++){
        // read arr[i];
    }

}

如果您的第一个警报显示一个JS对象,则您的对象已经被JSON解析,因此您不需要JSON.parse

服务器可能返回包装在对象中的数组,例如response.thisVar,如果您进行console.log,则会找到它

正确的答案是,这已经是jsoon了,所以我需要遍历并仅使用json对象。 我必须在[]中使用标签作为字段名称,谢谢所有答案。 console.log特别有用

JSON.parse()会将文本转换为JavaScript对象,反之亦然。

您可以重新检查代码吗? 响应已经是JSON。 JSON.stringify将帮助您将其打印为文本。

例如:

`var obj = JSON.parse('{ "name":"John", "age":30, "city":"New York"}');`

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM