【发布时间】:2013-08-12 23:49:34
【问题描述】:
我完全迷失了,我已经阅读了许多关于这个问题的答案和教程,包括 django 网站上的信息,但我不知道如何处理这个问题。
我的问题很简单。我想使用 ajax 发出一个简单的发布请求并取回一些信息。我什至无法进入 django 端的视图方法。
这里是代码
#urls.py
url(r'^spitback/$', 'spitback'),
#views.py
def spitback(request):
logger.debug("\n\n\nspitback");
logger.debug("request.method = {0}".format(request.method))
return HttpResponse("helloooooo")
javascript:
function csrfSafeMethod(method) {
return(/^(GET|HEAD|OPTIONS|TRACE)$/.test(method));
}
$.ajaxSetup({
crossDomain: false,
beforeSend: function(xhr, settings) {
var csrftoken = $.cookie('csrftoken');
if (!csrfSafeMethod(settings.type)) {
xhr.setRequestHeader("X-CSRFToken", csrftoken);
}
}
});
function testpost() {
$.ajax({
type:"POST",
url:'/login',
data:{
'key':'val',
'csrfmiddlewaretoken':"TB5gktJzHdowOtXR4u1BpjGABoKbJ2IQ"
},
contentType:"application/json;charset=utf-8",
dataType:"json",
success: function(data) { alert('data = ' + data);},
error: function(ts) { alert('ts = ' + ts)}
});
return false;
}
$( document ).ready( function() {
console.log("document loaded for template login.django");
$( "#somebutton" ).click(
testpost
);
});
此时我只是在尝试测试发布功能,但当我尝试它时,我清楚地从日志中看到“spitback”的视图方法甚至没有被调用。
有人请帮帮我,我已经无能为力了。
【问题讨论】:
-
那个 URL 应该是 '/spitback' 而不是 login