Mar*_*ran 8 javascript arrays json jsp
我想在不使用JQuery的情况下从跨域获取JSON数组.来自跨域的数据如下:
{
"transactionid": "LBS_48550801",
"status": 0,
"countrylist":
[
{ "id": 1, "name": "France", "latitude": 37.00039, "longitude": 35.31411, "extent": { "minlatitude": 36.53888499, "minlongitude": 34.76786904, "maxlatitude": 38.37851496, "maxlongitude": 36.40534884 }},
{ "id": 2, "name": "Germany", "latitude": 37.76454, "longitude": 38.27645, "extent": { "minlatitude": 37.40771898, "minlongitude": 37.43326512, "maxlatitude": 38.21203404, "maxlongitude": 39.24767592 } },
//... .... ....
//... .... ....
//... .... ....
{ "id": 98, "name": "Belgium", "latitude": 38.75754, "longitude": 30.5387, "extent": { "minlatitude": 37.78126803, "minlongitude": 29.68963308, "maxlatitude": 39.27915099, "maxlongitude": 31.71549708 } },
{ "id": 99, "name": "England", "latitude": 39.71812, "longitude": 43.03345, "extent": { "minlatitude": 38.96877501, "minlongitude": 42.28340184, "maxlatitude": 40.031208, "maxlongitude": 44.61092892 } },
]
}
Run Code Online (Sandbox Code Playgroud)
获取数据后,我需要解析它以获得"countrylist"列表.
我搜索解决了这个问题但是这些例子都是用JQuery编写的.我不想用它.如您所见,我在输入中有transactionid,status参数.因此,在导入数据后,我需要解析它以获取countrylist数组.我知道如何解析它,但我无法从服务中获取整个数据.
我需要通过Javascript方法获取数据.服务器支持很好地检索数据.
要采取的步骤是:
1-获取整个数据(这是我卡住的地方)
2-将其解析为Json对象(我知道如何解析数据)
如何在不使用任何JQuery或其他准备好的库的情况下获取整个数据?
kma*_*hev 11
你可以使用XMLHttpRequest for ajax和JSON.parse来解析json :)
var xmlhttp = new XMLHttpRequest();
xmlhttp.open('GET', '//example.org', true);
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4) {
if(xmlhttp.status == 200) {
var obj = JSON.parse(xmlhttp.responseText);
var countryList = obj.countrylist;
}
}
};
xmlhttp.send(null);
Run Code Online (Sandbox Code Playgroud)
你永远不应该使用eval!伊娃是邪恶的!你可以在mdn上阅读它
UPD:
如果没有CORS标头,则可以使用JSONP.只需添加&callback=getJSONP到您的网址即可.在jsfiddle上试试:http://jsfiddle.net/VmBF7/3/
| 归档时间: |
|
| 查看次数: |
16787 次 |
| 最近记录: |