我从Ajax获得XML响应
$.ajax({
url: '/webservice.svc/getProfile',
data: { "memberId": $(authenticateResponse).find("memberId").text() },
method: "GET",
async: false,
success: function (d) {
sessionStorage.clear();
sessionStorage.setItem('ALMS', d);
}
});
当我尝试检索
时console.dirxml(sessionStorage.ALMS)
[object XMLDocument]
console.dirxml($(sessionStorage.ALMS))
我做错了什么!
您遇到的问题是sessionStorage
只能容纳字符串。因此,使用toString()
强迫Xmldocument,因此您看到的值。
要解决此问题,您需要在保存之前手动序列化Xmldocument。尝试以下操作:
$.ajax({
url: '/webservice.svc/getProfile',
data: {
memberId: $(authenticateResponse).find("memberId").text()
},
method: "GET",
success: function (d) {
sessionStorage.clear();
sessionStorage.setItem('ALMS', new XMLSerializer().serializeToString(d));
}
});
还请注意,我删除了async: false
,因为这是不可思议的练习。