jQuery AJAX 地理位置不起作用
Posted
技术标签:
【中文标题】jQuery AJAX 地理位置不起作用【英文标题】:jQuery AJAX Geolocation Not Working 【发布时间】:2015-05-31 15:20:48 【问题描述】:我正在使用 freegeoip 的 API 来获取访问者的位置。我尝试将代码放入$(document).ready
(没有点击事件)和click
事件中,但在这两种情况下,似乎AJAX 调用都没有运行。我从Shopify's webpage 获得了代码,但由于它只是 jQuery,它应该可以在任何情况下使用 jQuery。
Here's the fiddle
这是 javascript 代码:
jQuery(document).ready(function()
jQuery('button').click(function()
jQuery.ajax(
url: 'http://freegeoip.net/json/',
type: 'POST',
dataType: 'jsonp',
success: function(location)
jQuery('#location').append(location.country_code);
);
);
);
这是简单的 html:
<button type="button">Button</button>
<div id="location"></div>
有人知道出了什么问题吗?我花了几个小时检查它,但没有发现任何明显的问题。我也尝试过使用另一个 API 和 $.getJSON
但永远无法让它工作。控制台中也没有错误消息。我只是希望在页面加载后运行它,并在成功后执行一些其他功能。
感谢您的帮助。
【问题讨论】:
小提琴适合我。 感谢您的检查。我已经在另一台计算机上对其进行了测试,它似乎在那里工作,但不是在我正在使用的这台计算机上(两者都通过 LAN 使用相同的互联网连接)。任何想法为什么?我已经在这台电脑上的 Firefox 和 Chrome 上测试过,但还是不行。 【参考方案1】:所以问题终于确定了。是 AdBlockPlus 阻止了 freegeoip.net,这就是为什么它不能仅在这台计算机上运行(我的所有浏览器都安装了该插件)。
希望这对遇到类似问题的人有所帮助。
【讨论】:
以上是关于jQuery AJAX 地理位置不起作用的主要内容,如果未能解决你的问题,请参考以下文章
Angular 的 $http.post 不起作用,它的 $http... 也不起作用,但 jQuerys ajax 起作用。为啥?
$.extend 中的 AJAX 函数在 jQuery 3 中不起作用