簡體   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