Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/425.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从服务器响应构造Javascript数组_Javascript_Ajax_Jquery - Fatal编程技术网

从服务器响应构造Javascript数组

从服务器响应构造Javascript数组,javascript,ajax,jquery,Javascript,Ajax,Jquery,我通过AJAX调用在服务器内部获取这些数据 {jobs:[{Dater:"2010-01-01",INCPU:"1",OUTCPU:"1"},{Dater:"2010-01-02",INCPU:"2",O UTCPU:"2"},{Dater:"2010-01-03",INCPU:"3",OUTCPU:"3"}] 这是我的AJAX电话 通过这个调用,我试图在JSP中构造这种类型的数组 var MyData = [{date:'2010-01-01',INCPU:"1",OUTCPU:"1"},{

我通过AJAX调用在服务器内部获取这些数据

{jobs:[{Dater:"2010-01-01",INCPU:"1",OUTCPU:"1"},{Dater:"2010-01-02",INCPU:"2",O
UTCPU:"2"},{Dater:"2010-01-03",INCPU:"3",OUTCPU:"3"}]
这是我的AJAX电话

通过这个调用,我试图在JSP中构造这种类型的数组

var MyData = [{date:'2010-01-01',INCPU:"1",OUTCPU:"1"},{date:'2010-01-01',INCPU:"1",OUTCPU:"1"}];

 ****var constructarray =[];****    

 jQuery.ajax({ 
       url: '/HumblFin/Serv', 
       success: function(data) { 
          drawChart(data);
 },

function drawChart(data)
{    
 for(var i = 0 ; i<=data.jobs.length ; i++)
 {
   constructarray .push(data.jobs.Dater[i]);  
   constructarray .push(data.jobs.INCPU[i]);  
   constructarray .push(data.jobs.OUTCPU[i]);  
 }
}
我已经对我的工作提出了警告 但不幸的是,打印只是


谁能帮帮我吗

我不知道JSP的语法,但您需要的是将JSON转换为类。它将JSON反序列化为系统对象。 JSP中必须有一些支持才能使用JSON,或者您可以使用开放库。例如 还请检查此示例

不确定这是否是打字错误,但您说要返回的JSON数据字符串的格式不正确。你错过了一个结尾}。它应该如下所示:

{jobs:[{Dater:"2010-01-01",INCPU:"1",OUTCPU:"1"},{Dater:"2010-01-02",INCPU:"2",OUTCPU:"2"},{Dater:"2010-01-03",INCPU:"3",OUTCPU:"3"}]}
其次,应该使用data.jobs[i].Dater而不是data.jobs.Dater[i]。

尝试使用以下方法:

for(var i = 0 ; i<=data.jobs.length ; i++)
{
  constructarray .push(data.jobs[i].Dater);  
  constructarray .push(data.jobs[i].INCPU);  
  constructarray .push(data.jobs[i].OUTCPU);  
}

嘿,谢谢你的回答,这个问题与JSON无关。这是关于以指定格式构造Javascript数组的问题。这个问题完全不可理解。忽略额外的“O”注释,如果您在一分钟前看到,没有看到它是“OUTCPU”的一部分。当我硬编码为data.jobs[1]。INCPU时,值正确,我想我需要检查结尾的花括号}`StringBuffer jobs=new StringBuffer{jobs:[;而rs.next{jobs.append{id:\+rs.getStringid+\,title:\+rs.getStringcreated+\},;}jobs.setCharAtjobs.length-1'];jobs.append};System.out.printlnjobs.toString`