如何将json/array从ajax responseText-in转换为javascript数组?
我在代码中使用了ajax,它可以完美地工作,并提供我想要的任何json或数组作为输出。 我使用的代码是如何将json/array从ajax responseText-in转换为javascript数组?,javascript,ajax,json,Javascript,Ajax,Json,我在代码中使用了ajax,它可以完美地工作,并提供我想要的任何json或数组作为输出。 我使用的代码是 xmlhttp=new XMLHttpRequest(); xmlhttp.open("GET","http://map_ajax_control.php",false); xmlhttp.send(); var test = xmlhttp.responseText; alert(test); 这个测试变量为我提供了json/array 我想获取JavaScript数组中测试变量中接收到
xmlhttp=new XMLHttpRequest();
xmlhttp.open("GET","http://map_ajax_control.php",false);
xmlhttp.send();
var test = xmlhttp.responseText;
alert(test);
这个测试变量为我提供了json/array
我想获取JavaScript数组中测试变量中接收到的数据
问题是,如何在javascript数组中解码json数据?
我把代码用作
var output = new Array();
output = json_decode(xmlhttp.responseText);
但是这段代码没有给我任何输出。我如何做这两件事?大多数浏览器都支持。它的用法很简单:
obj = JSON.parse(xmlhttp.responseText);
alert(obj.length);
对于不支持的浏览器,您可以使用来实现它。尝试以下方法:
var arr = xmlhttp.responseText.Split(',');
如果它不能解决您的问题,那么在php代码中,使用simplejson\u encode(您的数组)代码>并在javascript上使用myData=eval(“+xmlHttp.responseText+”)代码>
我建议您遵循以下方法:
在服务器上使用对要发送的数据进行编码,并使用对其进行解码。
作为:
或
注意:在解决方案中包括json2 javascript文件
json只不过是javascript对象表示法。
您只需要按照Sudhir的建议解析它。
您还可以使用jQuery.parseJSON
要使用ajax,我强烈建议您使用一些库,最好是jQuery
我也使用过它。但它不起作用。它没有给我任何输出。如果只需要json ajax的逻辑,那么用整个jQuery库来衡量web应用就太过分了!我得到的是一个responseText对象,而不是一个简单的类型。使用这种方法(并且稍微了解对象),我可以提取字段d,这是我在本例中关心的布尔值。因此,请不要使用解码json的eval
选项,这是一个明显的xss漏洞
var myObject = eval('(' + myJSONtext + ')');
var myObject = JSON.parse(myJSONtext, reviver);