如果我的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以来,我遇到了这个问题。
答案 0 :(得分:2)
通过encodeURIComponent()
运行您的字符串。然后将截断截断的组件。然后在检索您需要解码的数据时。
答案 1 :(得分:1)
这取决于请求的Content-Type
。如果内容类型为application/x-www-form-urlencoded
,那么您需要对参数进行urlencode。有关详细说明,请参阅第一个答案:application/x-www-form-urlencoded or multipart/form-data?