【发布时间】:2016-10-10 00:39:07
【问题描述】:
我正在尝试将此字符串作为 get 参数传递。此字符串以下列字符开头:
字符串名称是 some_html 它基本上是一些 html
<p style=\"-qt-block-indent: 0; text-indent: 0px; margin: 18px 0px 12px 0px;\"><span style=\"font-size: xx-large;
但我只得到这个
<p style=\\"-qt-block-indent: 0
这就是我传递字符串的方式:
http://127.0.0.1:8000/service_SubmitResult?htmlstring=some_html
关于我可能做错了什么的任何想法。我通过 Qt 发送字符串并在 Django 端点上接收它?我相信这是因为 semicolon 。我在发送之前使用以下函数对 url 进行编码
QUrl ServiceCalls::UrlFromUserInput(const QString& input)
{
QByteArray latin = input.toLatin1();
QByteArray utf8 = input.toUtf8();
if (latin != utf8)
{
// URL string containing unicode characters (no percent encoding expected)
return QUrl::fromUserInput(input);
}
else
{
// URL string containing ASCII characters only (assume possible %-encoding)
return QUrl::fromUserInput(QUrl::fromPercentEncoding(input.toLatin1()));
}
}
为什么我只收到字符串的一部分。在 django 上,我通过以下方式获取参数值
def service_foo(request):
try:
htmlResult = request.GET.get('htmlstring', '')
....
return HttpResponse();
except Exception as e:
print(e)
return HttpResponse("Error Service from sqlite")
关于如何解决此问题或我可以使用哪些其他选项的任何建议?
【问题讨论】:
-
是的,但我删除了这个问题,因为其中包含更多细节
-
你刚才删了,不然我连不上。很高兴你这样删除我的答案
-
@KevinKrammer 我要求一个明确接受一个字符串并返回一个字符串的答案。您的字符串正在使用我不想要的 QUrl。您希望我取消删除它并指出它吗?让我知道什么对你有用
-
@KevinKrammer 我没有删除答案