无法访问javascript

时间:2015-09-22 09:44:50

标签: javascript json angularjs restlet

我正在开发一个restlet服务和一个前端。我通过JSON对象交换服务器和客户端之间的信息,但我无法访问客户端(JavaScript)上的数据。

服务器使用所需信息创建一个JSON对象:

final JSONObject response = new JSONObject();
JSONArray content = new JSONArray(list);
response.put("content", content);
return response.toString();
System.out.println(response.toString());
return response.toString();

当调用服务时,syso打印:

{"content":["Hospital","Fabrica"]}

然后将JSON对象发送到客户端,但它无法访问内容记录。客户端代码如下:

UpRankApp.service('primaryUseService', ['$resource', 'globalService',  function($resource, globalService){

    this.getAvailablePrimaryUses = function(){

        var api = $resource("http://localhost:9192/getListPrimaryUse", 
        {
            callback: "JSON_CALLBACK" 
        },
        {
            post: {method: "JSON" }
        }
        );

        return globalService.getMessageContent(api.get());  
        //return [ 'saude', 'comercio', 'industria' ];

    };

}]);

UpRankApp.service('globalService', [function(){

    this.getMessageContent = function(message){

        console.log(message);
        console.log(message.content);

        if(message.hasOwnProperty('content')){
            console.log(message.content);
            return message.content
        }else if(message.hasOwnProperty('error')){
            console.log(message.error);
        }else{
         console.log("rien");   
        }   
    }
}]);

我可以看到客户端发送的数据在getMessageContent()上运行console.log但我无法访问它。 firefox上的控制台日志输出如下:

  

Object {content:Array [2],$ promise:Object,$ resolved:true}   未定义

使用chrome是一回事,但内容记录不能直接在JSON对象中看到(但数据存在)

JSON object in chrome

我已经尝试使用以下方法将消息转换为json:

var data = JSON.parse(message); 
if (data.status == 'success') { console.log('IT WORKS!');}

但是我收到一条错误,说“错误:JSON.parse:JSON数据第1行第2列的意外字符”,这意味着该变量已经是JSON对象吗? 有没有人知道发生了什么?我试图找到这个问题的解决方案3天,我找不到解决方案。

提前致以最诚挚的问候和谢意!

0 个答案:

没有答案