繁体   English   中英

如何让 ajax 像 Google Map API 一样工作?

[英]How do I get ajax to work like the Google Map API?

我正在尝试访问我在其他网站上创建的 Javascript API。 The javascript is at https://ksc105.kscserver.com/query.js and it pulls ajax calls to https://ksc105.kscserver.com/suggestions.php (?action=getall). 当然,在https://ksc105.kscserver.com/index.php上使用它。

但是我正在尝试将 javascript 导入另一个域站点。 我知道跨域 ajax 调用不起作用,但我认为如果 ajax 调用是从该站点上的 javascript 发出的,它将起作用。 我认为这是基于谷歌的 Map API。 我很确定它使用 ajax。

如何让 ajax 像 Google Map API 一样工作? 哪里有网站可以添加我的脚本并使用它的功能?

在萤火虫中,我收到了触发请求,但我得到了一个空的回报,但它不应该是空的。 在 IE9 中,我收到错误“SCRIPT5:访问被拒绝”。 /“query.js,第 62 行字符 5”。

如果您从 go 到https://ksc105.kscerver.com/index.php并在框中键入 3 个或更多字符(如 Google 搜索),您应该会得到“uggs 3 或更多字符”。 我需要同样的东西才能在没有服务器代理的任何其他网站上工作。 您可以使用“测试”,因为它会提取一堆测试数据。

尝试使用 AJAX 回调。 jQuery does this well but as a raw example, if you load some JSON with a callback function (From a <script> tag) it will run the function. 这就是您可以跨站点使用 Twitter API 的方式。 IE if you call http://api.twitter.com/1/statuses/user_timeline.json?screen_name=twitter&count=20&callback=handletwitter and create a handletwitter function:

<script type="text/javascript">
function handletwitter(data){
    console.log(data);
}
</script>
<script type="text/javascript" src="http://api.twitter.com/1/statuses/user_timeline.json?screen_name=twitter&count=20&callback=handletwitter"></script>

这也称为 JSONP

有一个聪明的解决方案可以做到这一点。 你可以有一个宽度和高度为 0 的 iFrame,所以它是不可见的。 在其中,您可以使用“父”属性在主页上加载数据。 由于您可以在 iFrame 中加载任何内容,因此这对您来说应该是一个很好的解决方案。 考虑以下示例(也适用于不同的域)。

<html>
    <head>
    <script type="text/javascript">
        function loadData(data)
        {
            var a = document.getElementById("H");
            a.innerHTML = data;
        }
    </script>   
    </head>
    <body>
    <div id="H">hello</div>
    <iframe src="sample.html" width="0px" height="0px">
    </iframe>
    </body>
</html>

样品.html

    <html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
</head>
<body>
<script>
    <!--
    parent.loadData("I am inside iFrame");
    -->
</script>
</body>
</html>

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM