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 起作用。为啥?

ajax调用后使用jQuery插入记录不起作用

$.extend 中的 AJAX 函数在 jQuery 3 中不起作用

URL::action 在 jquery ajax 中不起作用

地理位置有时不起作用[关闭]

jquery ajax 不起作用 - 成功和错误 [关闭]