Поддерживается ли поддержка для чтения/записи XML-файлов? Если я правильно прочитал документы Aurelia, Aurelia-fetch-client и aurelia-http-client настроены для ожидающих типов ответов JSON (службы HTTP в документах Aurelia). У меня очень большой проект конверсии SPA и вы хотите использовать Aurelia. Однако все содержимое страницы и указатели выводятся в документе XML и отображаются с помощью идентификаторов GUID. Нужно ли мне создавать пользовательскую подпрограмму для XML для JSON для использования с Aurelia?Поддержка Aurelia для XML
1
A
ответ
4
Спецификация API Fetch в настоящее время не имеет методов для принятия/преобразования потока ответов в виде XML-документа (https://developer.mozilla.org/en-US/docs/Web/API/Response#Methods). (Тот же API-интерфейс Fetch используется Aurelia, если браузер поддерживает его, или использует полифилл (whatwg fetch), который реализует логику соответствия API)
Что вы можете сделать, это получить поток как текст, а затем проанализировать вывод с библиотекой, которая может анализировать XML.
Например, с ParseXML JQuery в (https://api.jquery.com/jQuery.parseXML/) метод:
import {autoinject} from 'aurelia-framework';
import {HttpClient} from 'aurelia-fetch-client';
import 'fetch';
import * as $ from 'jquery';
@autoinject
export class XMLFetchTest {
constructor(private http: HttpClient) {
http.configure(config => {
config
.useStandardConfiguration()
.withBaseUrl('/src/');
});
}
public activate() {
return this.http.fetch('test.xml')
.then(response => response.text())
.then(text => {
let doc = $.parseXML(text);
}));
}
}
Спасибо за ответ. Я решил, что это будет что-то вроде этого. Я действительно надеялся избежать Углового - похоже, это решение. Я просто хочу, чтобы в рамках чего-то было. – RT1138