【问题标题】:whether this is a valid getJSON() in jquery?这是否是 jquery 中的有效 getJSON()?
【发布时间】:2010-05-04 14:59:05
【问题描述】:

我正在使用带有 jquery 的 asp.net mvc...我已经对控制器方法进行了 json 调用,它为我返回了 json 对象 [Object object]。我不希望那样,而是我想获取 json 字符串...任何建议...

$(document).ready(function() {
        $.getJSON('Materials/GetMaterials', null, function(data) {
            alert(data);
        });
    });

我给了alert(data.d);,它是undefined

  public JsonResult GetMaterials()
    {
        var materials = consRepository.FindAllMaterials().AsQueryable();
        return Json(materials);
    }

【问题讨论】:

    标签: jquery asp.net-mvc getjson


    【解决方案1】:

    刚刚找到答案,

    $(document).ready(function() {
            $.getJSON('Materials/GetMaterials', null, function(data) {
    
            $.each(data , function(index,d) {
                alert(d.Id)
            });
    
            });
        });
    

    【讨论】:

      【解决方案2】:

      getJSON 将返回一个 json 对象。如果那不是你想要的,你不应该使用它。您可以改用 $.ajax 并将内容类型设置为 text/plain ,您将收到作为字符串的数据。但是,我看不出您想要使用字符串而不是对象的任何原因。

      您可以选择使用 json2 库中的 JSON.stringify 方法将对象转换为字符串。

      【讨论】:

      • @Mattias 好的,我如何遍历 json 对象...考虑 10 行包含 UserNameEmailId...。我想用 <td>data.Username</td><td>data.EmailId</td> 迭代这些对象跨度>
      • @Pandiya Chendur,当然这是可能的。您可以使用 javascript 中的 for 循环。 jQuery 有一个循环遍历集合的 each 方法。
      【解决方案3】:

      尝试使用 console.log(+ 使用 firebug 或 web 检查器)而不是 alert()。您将能够扩展返回的 json 对象的结构并确定如何访问您所追求的数据。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2010-09-22
        • 1970-01-01
        • 2011-07-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多