lan*_*ng2 1 xml url jquery flask
在 Web 应用程序中,我将 XML 文件的内容作为 URL 参数的一部分发送(可能不是最好的设计,但目前我仍坚持使用它)。所以地址看起来像这样:
http://localhost:5000/fill?xml=XXXXXXXXXXXXX
Run Code Online (Sandbox Code Playgroud)
它是url_for('url', xml=xml)由 Flask 生成的。
我在客户端这样做:
var img = document.getElementById('preview');
var xmlstr = decodeURIComponent(GetURLParameter("xml"));
var xml = $.parseXML(xmlstr);
Run Code Online (Sandbox Code Playgroud)
XML 文件的内容自然会被编码。但文件中的所有空格都转换为加号+。当我使用$.parseXML()函数对其进行解码时,它+仍然存在。
为什么?
是的,当您将数据放入查询字符串时,它是URL 编码的;将空格转换为+正常;查询参数使用以下application/x-www-form-urlencoded形式进行编码。
decodeURIComponent()不处理这一差异;只需先用空格.replace()替换字符:+
var xmlstr = decodeURIComponent(GetURLParameter("xml").replace(/\+/g, " "));
Run Code Online (Sandbox Code Playgroud)