5

我正在尝试使用 jQuery 的 post 方法将用户当前的位置变量(在用户单击允许后)从浏览器发送到 Django 服务器。当前位置存储在变量中pos

$(document).ready(function(){
    $.post("/location", pos)
});

在 django 中,我/location在 urls.py 中创建了一个 url,它捕获 views.py through 中的 pos 变量request.POST(pos),我用它来执行距离查找。

我看到变量没有被传递到 django 服务器,有人可以告诉我哪里出错了吗?

4

1 回答 1

7

我已使用以下代码将 Google 地理定位 API 中的 JavaScript 位置变量(pos)分配给 HTML 表单中的输入元素(id=“location”)

document.getElementById('location').value = pos

下面是我的 HTML 表单

<form id = "geolocation" action="/location" method="POST" >
            {% csrf_token %}
        <input type="text" id = "location" name="location" value="" />
        <input type="submit" />

</form>

然后在我的谷歌地理定位 API 中,我通过添加以下代码行自动提交表单

document.getElementById("geolocation").submit(); 

最后在 Django Views.py 文件中,我使用“POST”方法从函数中的客户端获取位置,其中我正在使用该变量

user_location = request.POST.get('location')

这是Google Geolocation API的链接。

我插入了我的代码的摘录,只是为了让您知道我在 Google Geolocation API 中使用上述 JavaScript 代码行的确切位置。

var infowindow = new google.maps.InfoWindow({
    map: map,
    position: pos,
    content: 'Location found using HTML5.'
  });
  // the below line has been inserted to assign a JS variable to HTML input field called 'geolocation' 
document.getElementById('location').value = pos
map.setCenter(pos);
// the below line has been inserted to autosubmit the form.  
document.getElementById("geolocation").submit(); 
于 2013-09-04T14:38:27.927 回答