从Form中保留QueryDict中的特殊字符(Django)
Preserve special characters in QueryDict from Form (Django)
我的模板有一个简单的表单,它通过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>
来回通信工作正常,但表单字段需要允许输入特殊字符,如%和&
当我检查到达Django服务器的POST中的QueryDict时,特殊字符已经丢失了。
在Django中,我使用:
print( str(request.POST) )
如果我的表单包含"hello%64", Django告诉我它看到:
<QueryDict: {u'device': [u'hellod'] }>
我一定错过了什么。我是否需要在javascript中做一些事情来编码文本输入的内容,然后再将其发布到我的Django服务器?
没有什么比发布问题更能让你自己快速找到答案了。为其他可能偶然发现这一点的人添加。
当我封装表单的文本条目通过XMLHttpRequest发送时,我可以使用javascript的encodeURIComponent()函数对内容进行编码,从而保留它们供Django处理。
因此,QueryDict显示字符正确通过,并且我得到了我所需要的"hello%64"。
欢呼。
相关文章:
- javascript替换换行符和特殊字符
- angularjs删除动态形式元素中的特殊字符
- 使用json_encode通过xmlhttp.responseText发送特殊字符(即caron)
- 在搜索中考虑特殊字符的
- 避免键入一些特殊字符
- Regex测试特殊字符
- 在 Javascript 中对特殊字符进行排序 (æ)
- 必须检查长度,并在文本框中允许一些特殊字符
- 一个jquery验证器方法,它不接受纯数字或纯特殊字符,但接受上面是否有字母
- 用于在Javascript中删除多个空格的特殊字符
- jQuery-Regex以防止任何特殊字符
- javascript正则表达式来识别所有特殊字符
- RegEx只获取特殊字符,前后不获取任何字符
- 如何使用JQuery检查输入(电子邮件)字段是否包含特殊字符
- Javascript:包括特殊字符的文本选择
- 获取特殊字符后没有单词的句子
- 替换字符串javascript中的所有特殊字符..
- 在cshtml中对特殊字符进行编码
- 特殊字符显示在Python Dict构建的表单AWS中,并通过django视图传递给js
- 从Form中保留QueryDict中的特殊字符(Django)