2

我是 django 和 jquery 的新手,我尝试实现一个非常简单的 $post 请求。

这是我所做的:

我的js:

 $.post(/mysite/blabla/, { 
 score : 40
 });

我的看法:

 def blabla(request):
    score_user = 20
    if request.method == 'POST':
       score_user = request.POST['score']

控制台未指示发布请求的任何错误。问题是当我渲染“score_user”时,我总是得到 20,而我期望得到 40。

欢迎任何帮助。谢谢

编辑:

我的模型:

 class UserProfile(FacebookProfileModel):
      user = models.OneToOneField(User)
      comment = models.BooleanField()
      score = models.IntegerField(null=True, default=0)
4

3 回答 3

0
$.post('/mysite/blabla/', {'score': 40}, function(data) { 
    $('.result').html(data);
});
于 2012-10-25T18:19:06.650 回答
0

您需要使用 url 编码您传递给视图的参数&。除了 POST 请求之外,csrfmiddlewaretoken除非您禁用它,否则它是必需的。将status根据要求发出警报。

$.post('/mysite/blabla/','score=40&csrfmiddlewaretoken='+'{{csrfmiddlewaretoken}}').
success(function(data, status, xhr) { alert(status)}).
error(function(data, status, xhr) { alert(status)})

.successand.error 语法是 jquery promise接口的一部分

于 2012-10-25T18:15:39.583 回答
0

尝试这个:

 $.post("/mysite/blabla/", { score : 40 }, function(data){
   //  alert(data);
     $("#results").html(data);
 });

html:

Score: <span id='results'></span>
于 2012-10-25T17:39:03.140 回答