Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/444.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 使用AJAX获取JSON并使用响应数据_Javascript_Jquery_Ajax_Json - Fatal编程技术网

Javascript 使用AJAX获取JSON并使用响应数据

Javascript 使用AJAX获取JSON并使用响应数据,javascript,jquery,ajax,json,Javascript,Jquery,Ajax,Json,这是我的AJAX $.ajax({ url: "../getSynd.php", dataType:"json", success: function(jsVar){ document.write(jsVar['sysinfo'][0]); syndStatus("canvas1", "first server name", "76","red"); syndStatus("canvas2", "second server name", "1.2423","g

这是我的AJAX

$.ajax({
  url: "../getSynd.php",
  dataType:"json",
  success: function(jsVar){
    document.write(jsVar['sysinfo'][0]);
    syndStatus("canvas1", "first server name", "76","red");
    syndStatus("canvas2", "second server name", "1.2423","green");
  }
});
我从getSynd.php得到的JSON如下所示

[{"sysinfo":"server1","result":"1.17805935"},{"sysinfo":"server2","result":"2069.59799893"}]
如何从jsVar中获取sysinfo/结果

编辑: 多亏了这里的每一个人,我终于明白了

$.ajax({
  url: "../getSynd.php",
  dataType:"json",
  success: function(jsVar){

    syndStatus("canvas1", jsVar[0]['sysinfo'], jsVar[0]['result']);
    syndStatus("canvas1", jsVar[1]['sysinfo'], jsVar[1]['result']);
  }
});

由于您已经在ajax中使用了
dataType
param,因此您将得到已解析为javascript变量的响应。您只需要在ajax调用的成功回调中捕获它,如下所示:

$.ajax({
    url: '...',
    dataType: 'json',
    success: function(jsVar) {
       //jsVar will be the javascript array
    }
});

您需要对处理AJAX和JSON响应做更多的研究。您使用的语言(“保存到JavaScript变量中”)表明了这一点。特别是,查看jQuery的
$.getJSON
和我尝试过的本机
JSON.parse()
,这就是它的结果。感谢您的“有用”回复。使用
document.write(jsVar[0]['sysinfo'])否。
数据类型:“json”
会让jQuery在提供数据之前解析它。我不知道成功函数部分是如何工作的。。。数据是否存储在jsVar中?我对网络和javascript非常陌生。是的。。。当ajax调用在没有任何错误(如网络问题、超时等)的情况下成功返回时,将自动调用成功回调,来自ajax的响应将保存在变量“jsVar”中(您可以随意命名)。好的,那么如何提取保存在jsVar中的数据。。。它看起来像“[object object],[object object]”您正在尝试
文档。写入数组。您的数组包含对象,因此您将看到[object]。。。使用任何循环构造在数组上迭代,并在每次迭代中访问当前对象的属性,如myObj.sysinfo、myObj.result(myObj是循环当前迭代期间的对象)。再详细不过了。试试看。谷歌是你的朋友。