jQuery + Python响应数据


                    

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

  $(document).ready(function(){
   $(“#dd”)。blur(function(){
     $ .post(“ http://127.0.0.1:8000/validation/trial/”,
     {
       dd:document.getElementById(“ dd”)。value
     },
     函数(数据){
       alert(“ Data:” + data);
     });
   });
});
</ code> </ pre>

以下是python脚本:</ p>

  def试用版(要求):
     dd = request.POST.get('dd')
     打印dd
     返回HttpResponse(dd)
</ code> </ pre>
     </ div>

展开原文

原文

The following jQuery will call a Python script. The Python script is able to receive the post data. However, the jQuery is unable to receive the response by the Python script.

$(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);
    });
  });
});

The following is the python script:

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

2个回答


在Django中, print </ code>不会将它们发送回客户端; 您需要实际返回响应。 参见 Django教程第3部分:< / p>

来自django.http的

 导入HttpResponse

def索引(请求):
     return HttpResponse(“你好,世界。你在民意调查索引中。”)
</ code> </ pre>
     </ div>

展开原文

原文

In Django, printing things does not send them back to the client; you need to actually return a response. See the Django tutorial part 3:

from django.http import HttpResponse

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


我找到了解决方法。</ p>

  $(document).ready(function(){
   $(“#dd”)。blur(function(){
     $ .post(“ http://127.0.0.1:8000/validation/trial/”,
     {
       dd:document.getElementById(“ dd”)。value
     },
     function(data){// <-注意变量名是“ data”
       alert(“ Data:” + data);
     });
   });
});
</ code> </ pre>

Python脚本中返回的变量必须具有相同的变量名。</ p>

  def试用版(要求):
     数据= request.POST.get('dd')
     返回HttpResponse(data)
</ code> </ pre>
     </ div>

展开原文

原文

I have found the solution.

$(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);
    });
  });
});

The returned variable in the Python script needs to have the same variable name.

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

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐