分号后切断包含分号的POST

时间:2012-11-15 08:24:35

标签: python google-app-engine python-2.7 webapp2

如果我的POST参数为

d={"data": "<span>hello</span>"}

这是一个JSON字符串,它工作正常,request.POST.get('d')包含完整的字符串。但如果我把它改成

d = {"data": "<span>hel;lo</span>"}
print (request.POST.get('d')) #prints '{"data": "<span>hel'

出于某种原因,分号后的任何内容都被切断了。我可以确认这不是Javascript这样做,因为我曾经使用完全相同的javascript代码发布到能够检索数据的PHP API。自从转向Python和webapp2以来,我遇到了这个问题。

2 个答案:

答案 0 :(得分:2)

通过encodeURIComponent()运行您的字符串。然后将截断截断的组件。然后在检索您需要解码的数据时。

答案 1 :(得分:1)

这取决于请求的Content-Type。如果内容类型为application/x-www-form-urlencoded,那么您需要对参数进行urlencode。有关详细说明,请参阅第一个答案:application/x-www-form-urlencoded or multipart/form-data?