jQuery + Python响应数据

时间:2013-12-23 16:45:03

标签: jquery python ajax django

以下jQuery将调用Python脚本。 Python脚本能够接收发布数据。但是,jQuery无法通过Python脚本接收响应。

$(document).ready(function(){
  $("#dd").blur(function(){
    $.post("http://127.0.0.1:8000/validation/trial/",
    {
      dd:document.getElementById("dd").value
    },
    function(data){
      alert("Data: " + data);
    });
  });
});

以下是python脚本:

def trial(request):
    dd = request.POST.get('dd')
    print dd
    return HttpResponse(dd)

2 个答案:

答案 0 :(得分:1)

在Django中,print事物不会将它们发送回客户端;你需要实际返回一个响应。见the Django tutorial part 3

from django.http import HttpResponse

def index(request):
    return HttpResponse("Hello, world. You're at the polls index.")

答案 1 :(得分:0)

我找到了解决方案。

$(document).ready(function(){
  $("#dd").blur(function(){
    $.post("http://127.0.0.1:8000/validation/trial/",
    {
      dd:document.getElementById("dd").value
    },
    function(data){ // <-- note that the variable name is "data"
      alert("Data: " + data);
    });
  });
});

Python脚本中返回的变量需要具有相同的变量名。

def trial(request):
    data = request.POST.get('dd')
    return HttpResponse(data)