【发布时间】:2016-10-18 13:15:22
【问题描述】:
在 Django 网站上,我正在尝试检查字段输入以查找数据库匹配项。我的 Django .py 文件中有搜索功能,但由于在页面加载后我无法运行它们,我假设 JavaScript POST 请求是最好的选择。
<input id="this_field" onblur="querySomething()">
在 JS POST [1、2、3 等] 上有许多 SO 问题,但是,我无法让其中任何一个为我工作。这是我为获得有用的东西所做的众多尝试之一:
function querySomething(){
$.ajax({
type: "POST",
url: "/my/url/",
data: {"check_this": "123-456789",},
success: function() {
alert('success');
}
});
或者,
function postSearch() {
$.post("/my/url/",
{
"check_this": "123-456789",
},
function(data, status){
alert("Data: " + data + "\nStatus: " + status);
})
}
如果我只是将输入视为搜索字段并提交(使用 JS 或其他方式),它就可以正常工作。但是,由于我试图提供结果以帮助用户完成页面的其余部分的填写,因此我需要在用户焦点离开字段后立即在同一页面上提供结果。
我不知道我的{% csrf_token %} 令牌是否在这里发挥作用。我在控制台或服务器日志中没有收到任何错误或消息。
// 代码的编辑版本现在为:
function querySomething(){
$.ajax({
type: "POST",
url: "/my/url/",
headers: {
"Content-Type": "application/json",
"HTTP_GROUP_NAME": "groups_name",
},
data: {
"check_this": $('#this_field').val(),
"csrfmiddlewaretoken": "{{csrf_token}}",
},
success: function(data){
console.log("success");
console.log(data);
},
failure: function(data){
console.log("failure");
console.log(data);
},
});
alert('marcusShep function ran.')
}
【问题讨论】:
标签: javascript django post