我有一個簡單的腳本,填充HTML形式從服務器如何使用jQuery獲得使用換行符的XML?
$.ajax({
url: getUrl(),
dataType: "xml"
}).done(function(xml) {
//get values from xml file and fill in html form
});
和在服務器側的簡單代碼收到值,當加入的textarea字段生成XML
public void writeXmlValues() throws Exception {
final HttpServletResponse response = context.getHttpResponse();
response.setContentType("application/xml; charset=UTF-8");
PrintWriter out = response.getWriter();
try
{
writeXmlValues(out, values);
}
finally
{
try
{
out.close();
}
catch (Throwable ignored){}
}
}
我所面臨的問題通知。此字段可以包含帶分隔符的文本,並且可以將多行文本放入xml中。其結果將是如下:
<?xml version='1.0' encoding='UTF-8'?>
<parameter name="Conclusion">eshgseht
awegewhw
agwhg</parameter>
但在JS回調文字看起來有點不同(這裏是代碼完全一致):
<?xml version='1.0' encoding='UTF-8'?><parameter name="Conclusion">eshgseht awegewhw agwhg</parameter>
行沒有再進!這不是jQuery的錯誤(就我在Firebug中看到的,響應已經是單行文本),這不是StAX的錯誤(它會生成適當的xml)。我不知道發生了什麼事。 我可以使用XML格式獲得換行嗎?或者我應該使用JSON或其他東西(這不是首選的方式)?
更新: 最後我找到了這種行爲的原因。即使使用setContentType(「application/xml」),響應也被解釋爲text/html。非常感謝您的建議。
也許相關http://stackoverflow.com/questions/2986297/line-break-in-xml – Nicktar