我的模板有一个简单的表单,通过XMLHttpRequest返回给Django。
表格:
<form id="myForm" onsubmit="return false;" accept-charset="UTF-8" >{% csrf_token %}
<p><label for="dev_Ser">Device info:</label>
<input type="text" id="dev_Ser"name="devSerial" maxlength="100" /></p>
<input id="subBut" type="submit" />
</form>
来回沟通工作正常,但表单字段需要允许输入%和&amp;等特殊字符。
当我从POST到达Django服务器的POST检查QueryDict时,特殊字符已丢失。
在Django中,我使用:print( str(request.POST) )
如果我的表格包含&#34;你好%64&#34;,Django告诉我它看到了:
<QueryDict: {u'device': [u'hellod'] }>
我一定错过了什么。在将其发送到我的Django服务器之前,是否需要在javascript中执行某些操作来对该文本输入的内容进行编码?
任何意见都赞赏。
答案 0 :(得分:0)
没有什么比发贴一个问题让你自己快速发现答案了。在这里添加其他可能偶然发现的人。
当我封装我的表单的文本条目以通过XMLHttpRequest发送时,我可以使用javascript的encodeURIComponent()函数对内容进行编码,从而保留它们以便Django处理。
因此,QueryDict显示角色正确通过,我得到了我的“你好%64”。
干杯。