我目前正在尝试提高我网站的性能,但我使用的XML2JSON库正在减慢流程并阻止网站。
Globaly我正在使用AngularJS从一个tird party php脚本中获取xml:
$http.get('script.php', { params: { param1: $scope.param1, param2: $scope.param2 } }).
success(function(data, status) {
$scope.results = x2js.xml_str2json(data);
});
GET操作大约需要30ms,所以我猜阻塞的东西必须是x2js对象。 http://code.google.com/p/x2js/
- 编辑:@ Brian Genisio
GET实际上需要大约30毫秒(在超时的情况下最多1秒),如Firebug所示。 字符串有点大(~3kb),X2JS的特殊之处在于它创建了一个巨大的json对象,因为它自动创建一个简单的字段和一个XML条目的数组:
<xml>
<test>lol</test>
</xml>
将导致:
json: {
test: lol,
test_asArray: {
lol
}
}
现在是的,我确实控制了php脚本,但是没有,我无法直接获取json中的数据:我正在调用的脚本正在调用服务器,它没有JSON api。< / p>
-
知道为什么这么慢?
答案 0 :(得分:0)
Brian Genisio说:
您可以使用JSON和XML返回数据以避免客户端转换吗?
Aaaand实际上更好:
您可以将要强制放置的xml元素定义为数组:
// PHP
$array = xmlToArray($xml, array(
'alwaysArray' => array('Element1', 'Element2'))
);
echo json_encode($arrayData);