javascript - 将 JSON 从 JavaScript 返回到 Python

标签 javascript python google-app-engine

我正在编写一个简单的 App Engine 应用。

我有一个简单的页面,允许用户在 Google map 实例上移动标记。每次用户放下标记时,我都想将经度/纬度返回到我的 Python 应用程序。

function initialize() {

  ... // Init map

  var marker = new GMarker(center, {draggable: true});
  GEvent.addListener(marker, "dragend", function() {
    // I want to return the marker.x/y to my app when this function is called ..
  });

}

据我(诚然有限)的知识,我应该:

1).在上面的监听器回调中返回包含我所需数据的 JSON 结构

2).在我的 webapp.RequestHandler 处理程序类中,尝试在 post 方法期间检索 JSON 结构。

我非常希望将此 JSOn 数据传递回应用程序而不会导致页面重新加载(这是迄今为止我使用各种 post/form.submit 方法时发生的情况)。

任何人都可以向我提供一些伪代码或示例,说明我如何实现我所追求的目标吗?

谢谢。

最佳答案

防止页面重新加载的方法是在网页端使用 AJAX 处理。

使用 jquery,你可以做这样的事情:

$("#testform").submit(function() {
    // post the form values via AJAX...
    var postdata = {lat: $("#lat").val(), long: $("#long").val()} ;
    $.post('/submit', postdata, function(data) {
        // and set the location with the result
        $("#location").html(data['location']) ;
       });
    return false ;
    });

假设您有这样一个网页:

<p>Enter lat and long:</p>
<form id="testform" action="#" method="post">
    <p>
    <label for="lat">Lat:</label>
    <input type="text" id="lat" /> <br />
    <label for="long">Long:</label>
    <input type="text" id="long" /> <br />

    <input type="submit" value="Get Location" />
    </p>
</form>

<p>The location is:</p><p id="location">(enter lat and long above)</p>

然后让 python 代码返回 JSON 字典中的位置。

最后,我建议有一个优雅的回退:如果用户禁用了 JavaScript,请定期发帖至/getlocation 并重新加载,然后让 JavaScript 覆盖它以提交到返回 json 的特殊 URL,例如 /getlocationajax

关于javascript - 将 JSON 从 JavaScript 返回到 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2796736/

相关文章:

javascript - 无法添加阴影

python - Cassandra "Unable to connect to any servers"通过 Django,而 cqlsh 可以工作

android - 无法解析符号 'MyApi'

python - 我想使用 GAE 抓取网站并将结果发布到 Google 实体中

javascript - 初学者变量声明 - JavaScript

javascript - 在 iPhone 上禁用 "block selection"

javascript - 为什么/哪里出现错误 "Permission denied for <http://ad.yieldmanager.com> to call method Location.toString"

python - 如何以功能方式对元素求和

python - 在python中调用具有多重继承的父类

jquery - jQuery Mobile 中的 GAE Blobstore 异常