如何通过ajax获取json数据

时间:2013-04-10 08:51:15

标签: javascript ajax asp.net-mvc

我正在尝试创建一个基于flotr2每5秒更新一次的图表页面。但是我从服务器返回时遇到了一些问题,我得到了

[object, Object],[object, Object],[object, Object],[object, Object],[object, Object],[object, Object],[object, Object]

javascript看起来像:

    function updateFunc() {

        new Ajax.Request('http://localhost:53083/Home/Data', {
            method: 'get',
            onSuccess: function (transport) {
                var json = transport.responseText.evalJSON();
                alert(json);
            }
        });
    }

    updateFunc();

asp.net/c#看起来像:

        //
        // GET: /Home/Data

        public string Data()
        {
            dt.Rows.RemoveAt(0);

            dt.Rows.Add(rand.Next(1, 50));

            return JsonConvert.SerializeObject(dt);
        }

dt只是一个静态数据表,我删除第一个并添加一个新的,创建一种持续更新的感觉。

有什么问题?我发布的所有内容都是来自警报的[object, Object]

1 个答案:

答案 0 :(得分:2)

  1. 您需要更改响应的媒体类型以表明它是JSON,以便客户端正确解释它:

    Response.ContentType = "application/json";
    

    (有关正确类型的参考,请参阅here。)

  2. JsonConvert似乎不知道如何序列化dt的类型。要么更改为类型 它可以序列化,或告诉它如何序列化该类型:请参阅JSON.Net documentation