使用jquery,我的代码解析kml文件, 并从xml文件中获取信息。 代码如下:
$.ajax({
type:'POST',
url: '/getKmlFile',
data: {fname: "route.kml"},
cache: false,
dataType: 'xml',
complete: function(data, status){
console.debug("here");
var startTime = $(data.responseText).find('TimeSpan > begin').text();
.....
.....
$(data.responseText).find('LineString').each(function (index) {
....
}
....
});
问题是, firefox生成错误日志,“脚本堆栈空间配额已用尽”。 并在此行中退出执行:
var startTime = $(data.responseText).find('TimeSpan > begin').text();
我只是使用jquery默认选择器,并找到xml元素。 这就是我所做的一切。
kml文件大小不是很大,只有1.6Mbyte。
有什么方法可以避免这个问题吗? 使用另一个xml解析器? 请帮帮我~~~ :)
答案 0 :(得分:1)
我重新解决了这个问题。
解决方案非常简单。
complete: function(data, status){ => success: function(data, status){
在完整的函数data.responseText是字符串而不是xml对象,但是,在成功函数中 data是xml对象。
以下代码应该是这样的,
$(data).find("...") ... not, $(data.responseText).find("...") ...
所以,更少的记忆和非常有效的遍历〜
有趣的是〜^^;