我正在尝试实现一个 ajax 函数,该函数将根据下拉选择的 id 值执行数据库查询。
下拉列表的 HTML 是
<form method = "POST" action="" >{% csrf_token %}
<select name = "parentorgs" id = "parentorgs">
{% for org in parentorg_list %}
<option value = "{{org.parentorg}}" id = "{{org.parentorg}}" >{{ org.parentorgname }}</option>
{% endfor %}
</select>
</form>
一个 jQuerychange()
函数用于获取选择的 ID 并将其传递给
function getData(id) {
$.ajax({
type : "POST",
url : "getData/",
data : {"parentorg" : id},
datatype: "json",
success : function(data) {
console.log(data)
}
});
}
依次调用视图函数
from django.shortcuts import render_to_response, render
from django.core.context_processors import csrf
def getData(request):
c = {}
c.update(csrf(request))
return render_to_response("app/index.html", c)
Firebug 显示请求是通过 POST 进行的,并且方法 URL 是有效的。此外,该方法的 URL 已添加到 urls.py 中。
此时,它什么也没做,因为我只想看看方法的响应。此方法旨在执行模型查询并返回结果。
每次在下拉列表中选择一个项目时,我都会收到一个错误 403,描述该视图使用 ResponseContext 而不是 Context 作为模板。
需要做些什么来解决这个问题?