Javascript jQuery-Ajax-Django:发布但没有回复
我试图在Django上使用jquery设置一个简单的ajax消息/响应。我设法在控制台中看到POST/HTTP/1.12007703,因此我知道按钮正在发送一些东西。但是,我不知道如何测试正在发送的消息,或者是否有回复返回到客户端 编辑:这似乎意味着javascript正在发布到/view。。。但我不知道如何解决这个问题 views.py:Javascript jQuery-Ajax-Django:发布但没有回复,javascript,jquery,python,ajax,django,Javascript,Jquery,Python,Ajax,Django,我试图在Django上使用jquery设置一个简单的ajax消息/响应。我设法在控制台中看到POST/HTTP/1.12007703,因此我知道按钮正在发送一些东西。但是,我不知道如何测试正在发送的消息,或者是否有回复返回到客户端 编辑:这似乎意味着javascript正在发布到/view。。。但我不知道如何解决这个问题 views.py: def buttonformup(request): if request.POST.has_key('client_response'):
def buttonformup(request):
if request.POST.has_key('client_response'):
x = request.POST['client_response']
y = str(x)
response_dict = {}
response_dict.update({'server_response': y })
return HttpResponse(json.dumps(response_dict), mimetype='application/json')
else:
response_dict = {}
response_dict.update({'server_response': "failed no post" })
return HttpResponse(json.dumps(response_dict), mimetype='application/json')
response_dict = {}
response_dict.update({'server_response': "failed completely" })
return HttpResponse(json.dumps(response_dict), mimetype='application/json') #should serve as ultimate failure point, but never gets here either
JavaScript:
$(document).ready(function() {
$("#button_up_form").submit(function(e) {
e.preventDefault();
var input_string = $("#subid").val();
$.ajax({
url: "/button_form_up/",
type: "POST",
dataType: "json",
data : {
client_response : input_string,
csrfmiddlewaretoken: '{{ csrf_token }}'
},
success : function(json) {
$('#result').append( 'Server Response: ' + json.server_response);
},
error: function(xhr,errmsg,err) {
alert(xhr.status + ": " + xhr.responseText);
}
});
return false;
});
});
在模板中:
<form method="post" name="button_up_form" id="button_up_form">
{% csrf_token %}
<input id="subid" name="subid" type="hidden" value="{{submission.id}}">
<input type="submit" class="arrowup" value=""></input>
</form>
我花了一天的时间试图解决这个问题,尝试了不同来源的jscript和服务器端代码的不同组合,但似乎没有什么效果,所以我来了。感谢您的帮助,非常感谢。您可能希望绑定到表单的提交事件,而不是单击。为什么不在视图中使用打印。py,检查是否调用了buttonformup。@DanielRoseman说得好,不幸的是它没有解决缺少回复的问题
url(r'^button_form_up/$', 'redparser.views.buttonformup', name='button_form_up'),