【问题标题】:get json object with jquery使用 jquery 获取 json 对象
【发布时间】:2011-07-26 08:20:10
【问题描述】:
$.getJSON("<%: Url.Action("myUrl", "cont") %>/", function(data) {
        var items = [];
        $.each(data, function(key, val) {
            items.push(val);
        });
     });

    [Authorize]
    [OutputCache(Duration = 0, VaryByParam = "None")]
    public JsonResult myUrl()
    {
        var list = _repository.GetAll();
        var items = list.Select(c => c.Name).ToList();

        return Json(items, JsonRequestBehavior.AllowGet);
    }

我在服务器端创建一个列表(字符串名称列表)并返回一个 JsonResult。我正在尝试使用 jquery 在客户端获取列表,以便我可以检查它是否包含特定项目。以上似乎不起作用...有什么建议吗?

【问题讨论】:

  • 数据不是 JSON 对象吗?我想你可以随心所欲地使用它。

标签: jquery json getjson jsonresult


【解决方案1】:

你必须解析 JSON:

$.get("<%: Url.Action("myUrl", "cont") %>/", function(data) {
    var items = [];
    data = $.parseJSON(data);
    $.each(data, function(key, val) {
        items.push(val);
    });
 });

【讨论】:

  • 抱歉,没有看到getJSON。也许试试我目前的方法。如果您使用 POST 而不是 GET,请修改它。有了这个你可以alert(data)在它被$.parseJSON处理之前。
  • 我试过你的方法,还是null,我确定服务器返回的JSonResult里面有项目
  • 那么请在var items = []; 之后添加一个alert(data); 并告诉我它输出了什么。
  • 好的,这很奇怪,但它现在似乎可以工作了。数据有我的列表,即 item1,item2,item3 ...我已将 var items = [] 从 json 中移出,但是当它退出 getJSON 时,items 似乎失去了它的价值并且为空... .不知道为什么会这样?
  • @newbie_86 让我们continue this discussion in chat
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-02-17
  • 1970-01-01
  • 1970-01-01
  • 2011-10-28
  • 1970-01-01
相关资源
最近更新 更多