Django 在请求后返回 None.发布
Django returning None after request.POST.get
我是Django和AJAX的新手,我正在尝试使用ajax POST将下拉列表的ID发送到Django View。然后,在查询集筛选器中使用此 ID,以根据 ID 使用 AJAX 返回行。我陷入了将过滤器应用于查询集的问题,因为它似乎发布了 ID,然后发布了一个带有 None 的变量。当我打印控制台以控制台在 POST 中发送的变量时,我得到 ID,后跟 none,例如:
1748
None
我的HTML是:
<select id="drugSet">
{% for dose in dose_set %}
<option id="{{ dose.pubmed_id }}">{{ dose.drug_name }}</option>
{% endfor %}
</select>
<span id="drugName"></span>
Javascript:
function NeedDrugInformation() {
var elementID = document.getElementById("drugSet");
var strUser = elementID.options[elementID.selectedIndex].id;
$.ajax({
type: "POST",
url: "drugsanddoses/",
dataType: "text",
async: true,
data: { csrfmiddlewaretoken: '{{ csrf_token }}', drugID: strUser },
});
$.ajax({
type: "GET",
url: "drugsanddoses",
dataType: "text",
async: true,
data: { csrfmiddlewaretoken: '{{ csrf_token }}' },
success: function (json) {
$('#drugName').html(json.drugInfo);
// $('.ajaxProgress').hide();
}
})
}
views.py:
def drugsanddoses(request):
drugIdentifier = request.POST.get('drugID')
print(drugIdentifier)
drugInfo = RiskCalculator.objects.values('drug_name', 'l_dose', 'h_dose', 'risk', 'pubmed_id', 'updated')
response_data = {}
try:
response_data['drugInfo'] = str(drugInfo)
except:
response_data['result'] = 'No details found'
response_data['message'] = 'There is currently no information in the database for this drug.'
return HttpResponse(json.dumps(response_data), content_type="application/json")
您正在发出两个 Ajax 请求;一个是 POST,其中存在 ID,另一个是 GET,其中 ID 不存在,因此它打印 None。我真的不明白你为什么要提出两个要求,但这就是你正在做的事情。
相关文章:
- Ajax发布表单序列化,发布引号'
- Ajax Live搜索发布到Laravel视图
- Sails.js:同时发布文本输入和一个文件
- 使用acess代币登录Facebook,并通过网络应用程序离线发布
- 如何在Jquery中发布后将值从视图返回到控制器
- 使用$.ajax发布多个复选框
- 将地理编码结果转换为php变量以发布到mysql数据库
- 如果连接类型为none,则Javascript Function Only警报
- django模板没有在AJAX发布后重新加载
- 列表样式在IE中未设置为none,但在IE中适用
- 重写CSS:使用jquery显示none属性
- 使用JavaScript安全地发布消息
- 表单数据未发布到服务器
- 有没有办法限制Meteor-alded表格包中已发布的字段
- 查找AJAX获取和发布时使用的网络数据的obsolute或可能的估计值
- 使用ajax在多个页面上发布一篇文章
- 将phonegap图像发布到php/mysql-图像字段从发布请求中消失
- 使用api在facebook页面上发布图片或状态
- Ajax正确发布表单,但不会返回成功数据
- Django 在请求后返回 None.发布