我需要根據用戶搜索的內容將一些標記加載到嵌入式Google地圖中。標記由MySQL表中的lng/lat座標確定。如何在Javascript文件中存儲PHP/MySQL變量?
該地圖是在一個單獨的Javascript文件中的JavaScript函數中創建的(因此不嵌入在HTML中),它將XML文件作爲輸入。我創建了一個PHP頁面(稱爲'xml.php'),可以根據用戶的搜索者動態生成我需要的XML文件。現在我在我的Javascript函數中手動輸入POST信息,所以它調用'xml.php?query = hello'
我想以某種方式將原始查詢發送到Javascript文件,以便我可以將它追加到'xml.php'的末尾。這樣,一切都從原始搜索自動完成,生成一個XML文件,並閱讀它來創建標記。
我見過當JavaScript是嵌入標籤是相當簡單的解決方案,但我試圖避免
這裏是我的功能,對於一個XML文件調用:
function downloadUrl(url, callback) {
var request = window.ActiveXObject ?
new ActiveXObject('Microsoft.XMLHTTP') :
new XMLHttpRequest;
request.onreadystatechange = function() {
if (request.readyState == 4) {
request.onreadystatechange = doNothing;
callback(request, request.status);
}
};
request.open('GET', url, true);
request.send(null);
}
function doNothing() {}
的XML信息將根據用戶最初搜索的內容而改變。所以它實際上是一個php文件(xml.php),它執行SQL搜索並以XML格式迴應它。調用xml.php
downloadURL('xml.php?query=whatever', somefunction())
的時候,我可以控制通過後加入信息的SQL搜索但這附加POST數據需要動態的一樣。 所以整個流程是:
搜索頁面 - >將數據發送到結果頁面,呼籲JavaScript文件創建地圖 - > JavaScript文件調用XML的信息,將在地圖搜索結果頁
你要找的AJAX。 – SLaks
@SLaks我想我現在正在使用AJAX實現。我遇到的唯一問題是我發現的所有教程都在某種輸入框上使用了document.getElementByID。在我的例子中,我已經發送了表單,現在我需要獲得Javascript文件的信息是在URL –