Javascript 通过Ajax发送到python的URL位置

Javascript 通过Ajax发送到python的URL位置,javascript,jquery,python,ajax,Javascript,Jquery,Python,Ajax,我想拼凑一些代码。我正试图将两种不同的功能合并为一种 代码是: <!DOCTYPE html> <head> <meta http-equiv="content-type" content="text/html;charset=UTF-8"> <script src="http://code.jquery.com/jquery-1.5.js"></script> </head> <body> <cente

我想拼凑一些代码。我正试图将两种不同的功能合并为一种

代码是:

<!DOCTYPE html>
<head>
<meta http-equiv="content-type" content="text/html;charset=UTF-8">
<script src="http://code.jquery.com/jquery-1.5.js"></script>
</head>

<body>
<center>

# first function
<form id="search_box"><input id="search_text" type="text"/></form>
<br/>

<div id="jQuery_send"></div>
<div id="python_response"></div>

<script>
  $('#search_box').submit(function() {
  $('#jQuery_send').text("jQuery sent: " + $('#search_text').val() );

  $.ajax(
    {
      type: "POST",
      url: "test2.py",
      data: "stuff_for_python=" + $('#search_text').val(),
      success: function(response)
        {
          $('#python_response').text("Python returned: " + response);
        }
    });
    return false;
  });
</script>

#second function

<p id="demo"></p>

<button onclick="urlLocation()">Click here to get URL of the page</p>

<script>
  function urlLocation()
    {
      var loc = location.href;
      document.getElementById("demo").innerHTML=loc;
    }
</script>

</center>
</body>
</html>
对于函数1,输入到搜索框中的任何内容都将通过jQuery/AJAX发送到python脚本,并由框下的jQuery和python进行响应

Function2使用一个按钮,单击该按钮时,使用JavaScript在其下方打印当前URL

我想弄明白的是,有没有办法单击一个按钮,然后让jQuery和python以类似的方式响应当前URL(函数2)(函数1)?我是个编程新手,我想弄清楚所有的部分是如何组合在一起的。我意识到上面的代码本身并没有多大作用,但如果在将来的项目中进行定制,它可能会很有用


Python 2.7.6以及Apache2正在我的测试环境中使用

让我看看我是否理解你的要求

首先,作为一般建议,建议不要使用inline
onclick
属性,而是将HTML和JavaScript分开。要触发按钮的onclick事件,可以使用:

document.getElementById("foo").onclick = function_name;
或者,您可以使用jQuery:

$("#foo").click(function_name);
您甚至可以内联声明函数并执行以下操作:

$("#foo").click(function() {
    var loc = window.location.href;
    $("#demo").text(loc);

    $.ajax({
        type: "POST",
        url: "...",
        data: {
            stuff_for_python: loc
        },
        success: function(response) {
            // do something with response
        }
    });

});

为了得到我想要的,我稍微改变了答案。最后,这就是我使用的代码:

<script>
  $("button").click(function(){
  var loc = window.location.href;
  $.post("...", 
  {stuff_for_python: loc},

  function(data, status){
    alert("Data: " + data + "\nStatus: " + status);
  });
});
</script>

$(“按钮”)。单击(函数(){
var loc=window.location.href;
美元后(“…”,
{stuff_for_python:loc},
功能(数据、状态){
警报(“数据:+数据+”\n状态:+状态);
});
});
为了简单起见,我选择使用警报,而不是在页面上呈现URL。我最感兴趣的是单击一个按钮(将当前URL作为变量创建),然后将该变量发送到python

<script>
  $("button").click(function(){
  var loc = window.location.href;
  $.post("...", 
  {stuff_for_python: loc},

  function(data, status){
    alert("Data: " + data + "\nStatus: " + status);
  });
});
</script>