Opened 12 years ago
Last modified 12 years ago
#18740 closed Uncategorized
request.REQUEST truncates POST data — at Initial Version
Reported by: | Owned by: | nobody | |
---|---|---|---|
Component: | HTTP handling | Version: | 1.4 |
Severity: | Normal | Keywords: | request, POST, getlist |
Cc: | Triage Stage: | Unreviewed | |
Has patch: | no | Needs documentation: | no |
Needs tests: | no | Patch needs improvement: | no |
Easy pickings: | no | UI/UX: | no |
Description
So I have this form (some elements removed for clarity)
<form id="{{ section }}-submission-form{{ cell_id }}">
<input type=hidden name="section" value="{{ section }}" />
<input type="hidden" name="school" id="{{ section }}-submit-school{{ cell_id }}" />
{% if section == "posts" %}
<input type=hidden name="url" />
<textarea class="{{ section }}txtinput{{ cell_id }}" name="text-submission"
default="{% if is_advice %}What's your question?{% else %}What's on your mind?{% endif %}"
id="{{ section }}-suggestion-box{{ cell_id }}"
style="margin: 0 0 .5em 0;font-family: Arial, sans-serif;font-size: 14px; width: 410px;"
rows='8'></textarea>
<br />
{% endif %}
{% if section == "photos" %}
<span style='line-height: 40px;'>
<label class="photouploadlabel">URL</label><input type="text" name="image-url" style="width: 335px" /><br>
<label class="photouploadlabel">File</label><input type="file" name="image-file" style="width: 335px"/><br>
<label class="photouploadlabel">Caption</label><input type="text" id="image-caption{{ cell_id }}"
name="image-caption" style="width: 335px" default="optional"/>
</span>
{% endif %}
<div id="{{ section }}-bottomdiv{{ cell_id }}" style="height: 45px; margin-top: .5em; width: 413px;">
<div style="height: 45px">
<label id="{{ section }}-tagsbutton{{ cell_id }}"
style="margin-right: .5em; cursor: pointer; vertical-align: bottom; float:left; line-height: 1.8em;">Tags</label>
<input id="{{ section }}-tagsinput{{ cell_id }}" type="text" name="tags-list" style="position: relative"/>
<button id="send-{{ section }}-suggestion{{ cell_id }}" disabled="disabled"
style="float:right; position: relative; bottom: 7px; right: -4px;">Post</button>
</div>
The tags-list input is turned into an autocomplete and users select tags, which are then added to a global js variable "selected tags". When the user presses "Post", I have this code:
alert(selectedtags);
$("#"+section+"-submission-form"+cellid).ajaxSubmit({
url: '/save-suggestion/',
type: 'post',
data: {'tags': selectedtags },
dataType: 'json',
success: function(response){
clear_text(section, cellid);
location.reload();
},
printing out request.POST gets me:
<QueryDict: {u'text-submission': [u'your mom is on my mind.'], u'school': [u'1997'], u'tags-list': [u''], u'url': [u''], u'section': [u'posts'], u'tags[]': [u'tigers', u'lions'], u'anonymity-level': [u'schoolandmajor']}>
(i.e. what I expect)
but printing request.REQUEST gets me:
{u'text-submission': u'your mom is on my mind.', u'school': u'1997', u'tags-list': u, u'url': u, u'section': u'posts', u'tags[]': u'lions', u'anonymity-level': u'schoolandmajor'}
(i.e. tags[] is truncated, as if using get instead of getlist)