xmlファイル(kmlファイル)をjsで取得する際、Jquery $.ajaxで取得できず、fetch + parseFromStringで取得できたケースがあった。
jqueryを使った場合では取得できず、、(res
にnullが入る)
jqueryを使った場合
const res = await new Promise((resolve, reject) => {
$.ajax({
url: fileURL,
cache: false,
dataType: 'xml',
success: function (data) {
resolve(data);
},
error: function (err) {
reject(err);
},
});
});
parseFromString
で取得できた。
fetch + parseFromStringを使った場合
const res = await new Promise((resolve, reject) => {
fetch(fileURL).then(res => res.text()).then(async kmltext => {
if (!kmltext) {
reject("not kmltext");
return;
}
const parser = new DOMParser();
const kml = parser.parseFromString(kmltext, 'text/xml');
resolve(kml);
});
});
読み込むファイルfileURL
のどこが問題だったか
問題箇所は調査中です。。。