gpt4 book ai didi

javascript - 使用 Yahoo YUI 3 进行 Google 地理编码 ajax 请求

转载 作者:行者123 更新时间:2023-11-28 20:40:25 25 4
gpt4 key购买 nike

我知道在 YUI 3 中进行 ajax 调用的方法是使用 IO 实用程序。我想从 Google 的地理编码 API 获取某个位置的地址。

<script type="text/javascript"><!--
YUI().use('io-base', function(Y) {
function complete(id, o) {
var data = o.responseText; // Response data.
alert(o.responseText);
};

Y.on('io:complete', complete, Y);
var request = Y.io("http://maps.googleapis.com/maps/api/geocode/json?language=en&sensor=false&latlng=12,34);
});
//-->
</script>

我收到了包含方法 OPTIONS 和状态代码 405 方法不允许 的回复。我相信这是因为一些“飞行前”权限检查。我没有收到期望的回复。如果我将 url 复制并粘贴到浏览器中,我会看到 json 数据。

我可以将 ajax 请求发布到我自己域上的 php 脚本,并使用curl 获取 json 响应。但如果我可以用 javascript 获取数据,为什么还要这个额外的步骤呢?

那么我该如何解决这个问题呢? IO 实用程序不是合适的库吗?

最佳答案

您正在发出跨域 XHR 请求,并遇到“同源策略”,这是客户端 JavaScript 中的通用限制。例如,参见Why do I still receive 405 errors even though both URLs are from XXXX.com?

有多种方法可以解决此问题:

1)按照您的建议,在 PHP 中发出服务器端请求2)使用YUI jsonp模块3) 使用 YUI YQL 模块,它通过 Yahoo! 代理您的请求。服务器并为您处理 JSONP 内务工作

还有许多其他方法可以解决此问题,但这三种方法应该可以帮助您入门。

关于javascript - 使用 Yahoo YUI 3 进行 Google 地理编码 ajax 请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14507951/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com