为了账号安全,请及时绑定邮箱和手机立即绑定

Ajax POST发送空值

Ajax POST发送空值

萧十郎 2021-05-01 10:04:29
在我的网站模板中,我尝试执行Ajax POST请求以将用户坐标发送到服务器,然后服务器应输出相应的最近城市。但是,当前Ajax唯一要做的就是输出空值。整个项目使用django框架。为了确保crsf不是我禁用整个站点的crsf保护的原因。我也尝试过而不是传递json,字符串整数等,都返回null。另外,我的成功函数正在触发,因此ajax函数显然可以正常工作。<script>var loc = [] ;function getLocation() {  if (navigator.geolocation) {    navigator.geolocation.getCurrentPosition(showPosition);  } else {    loc.push( "Geolocation is not supported by this browser.");  }}function showPosition(position) {  loc.push(position.coords.latitude) ;   loc.push(position.coords.longitude) ; }</script><script >window.onload = function(){  getLocation();};$.ajax({  url: '{% url "locnews" %}',   type : "post",  data:  {    "location": loc   },  datatype : "json",  success : console.log("succ"),})</script>
查看完整描述

2 回答

?
catspeake

TA贡献1111条经验 获得超0个赞

所以我自己解决了这个问题。显然,在getLocation()完成之前,AJAX正在启动。一旦将Ajax调用添加到getLocation()函数中,该问题就解决了。


查看完整回答
反对 回复 2021-05-27
?
HUH函数

TA贡献1836条经验 获得超4个赞

在以下行中:navigator.geolocation.getCurrentPosition(showPosition)您是否在不传递“ position”参数的情况下调用showPosition?


查看完整回答
反对 回复 2021-05-27
  • 2 回答
  • 0 关注
  • 188 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信