【问题标题】:Google app engine: getting javascript variable(client side) to python string(server side)谷歌应用引擎:将javascript变量(客户端)获取到python字符串(服务器端)
【发布时间】:2023-04-06 14:42:01
【问题描述】:

1)我在屏幕上处理后打印的链接如下-

for i in index:
   self.response.out.write('<a id="w3s" href="' + i + '">' +i+' class="testClick" </a><br>')

其中 index 是处理后的 url 列表。显示结果的 url 类似于 mysite.com/sign

2) 我想知道用户点击了哪个链接。这就是我试图做的-

<script>
var addressValue;
$(document).ready(function(){
  $("a").click(function(){
    addressValue = $(this).attr("href");
  });    
});
</script>

我在 addressValue 变量中获得了点击的 url,但接下来我应该做什么。我不知道如何使用 GET 或 POST 方法来获取变量服务器端;然后如何在我的 python 变量中获取字符串。

使用 GET/POST:(不工作)

<script>

var addressValue;

$(document).ready(function(){
  $("a").click(function(){
    addressValue = $(this).attr("href");

//Method-I
    $.post("https://mysite.com/sign",
    {
        fooParameter: addressValue,
    },
    function(data,status){
        alert("Data: " + data + "\nStatus: " + status);
    });
  });    
});


//Method-II
$.ajax({
    url: "https://mysite.com/sign",
    method: "POST",
    data: {fooParameter: addressValue},
});

</script>

然后通过以下命令访问python字符串中的变量

selectedlink=self.request.get('fooParameter')

我在哪里弄错了还是有其他方法?
注意:我使用的是 Google App 引擎

【问题讨论】:

  • 我不确定我是否了解您,但您正在寻找的是纯 Javascript。如果您使用 jQuery 库,您可以捕获点击的 url 并将其以 JSON 格式发布到服务器。 api.jquery.com/clickapi.jquery.com/jQuery.post
  • api.jquery.com/click:我已经成功实现了,但是 api.jquery.com/jQuery.post -> 对于 GET/POST,我在实现这个时遇到了问题。我已经粘贴了上面的代码。请检查您是否可以提供帮助
  • 会不会是 CORS 问题 (en.wikipedia.org/wiki/Cross-origin_resource_sharing)?您必须通过从 python 后端返回 Access-Control-Allow-Origin 标头来允许跨域请求。

标签:
javascript
jquery
python
google-app-engine