javascript - Controller 无法在 ajax 响应中返回 JSON 对象结果

标签 javascript java ajax jsp spring-mvc

我必须每秒调用 REST API 并获取数据。所以我调用该方法的时间为 1 秒。如下。

var myVar = setInterval(function(){ getData1() }, 1000);

以下是我调用 Controller 的 Javascript 函数。

function getData1(){
    var url=CONTEXT_ROOT+"/login/getdashboarddata1";
    $.ajax({ 
        type: "POST",  
        url: url, 
        contentType: "application/json",
        dataType: "json",
        data:{},
            success: function(data){
                alert(data);                    

            },
         error: function(e){
             //alert(e);
         }
        });
}

这是我的 Controller 代码

@RequestMapping(value="/getdashboarddata1", method=RequestMethod.POST)
    public JSONObject @ResponseBody getDashboardData1() throws JsonParseException, JsonMappingException, NullPointerException{ 

        RestTemplate restTemplate = new RestTemplate();
        String url = "http://localhost:8080/r_f22bc0ac1fe48bce/dataService/lastdata/";
        String user = restTemplate.getForObject(url, String.class);

        System.out.println("user: "+user);
        JSONObject obj = null;
        try {
            obj = new JSONObject(user);
        } catch (Exception e) {
            e.printStackTrace();
        }

        return obj;
    }

如果我运行该程序,则 jsp 不会显示任何警报。但是如果我将 Controller 中的返回类型更改为 String 那么它会在 ajax 响应中显示正确的 JSON 字符串。

[{"sno":"3618","data":"01","datetime":"2017-04-05 12:33:26.266"}]

如果我携带这个,那么我无法从 JSON 字符串获取数据。

请告诉我我的问题是什么。或者还有其他方法可以做到这一点吗?

最佳答案

你有 json 数组

[{"sno":"3618","data":"01","datetime":"2017-04-05 12:33:26.266"}]

然后使用索引访问它:

data[0].sno

关于javascript - Controller 无法在 ajax 响应中返回 JSON 对象结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43290966/

相关文章:

javascript - cytoscape.js cose布局节点重叠

Javascript:为什么这个对象比较不起作用?

java - 如何在带有 Gradle 的 Java 项目中使用 DexGuard

java - 如何删除 JScrollPane 内的边框

java - 实体更新后@Createdby @CreatedDate 为空

javascript - 如何将值从 php 传递到 jquery 函数我的代码如下

javascript - 将属性 "innerHTML"设置为 null

javascript - 全日历显示加号事件下的所有事件

javascript - 使用ajax时的jQuery图像幻灯片轮播

php - 如何设计一个基于正在运行的脚本后端的 AJAX 界面来显示进度条