我目前正在尝试使用AJAX从数据库中检索选定的记录。我有2个文件 - browser.php和getrecord.php。
在browser.php中,我使用地理位置javascript来获取纬度和经度,并将它们存储在全局变量中:
browser.php
var numlat;//store latitude
var numlong;//store longitude
function loadrecord(numlat,numlong)
{
if(numlat=="" || numlong==""){
document.getElementById("box").innerHTML="";
return;
}
if (window.XMLHttpRequest){
//code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp = new XMLHttpRequest();
}
else{
//code for IE6, IE5
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function(){
if(xmlhttp.readystate==4 && xmlhttp.status==200){
document.getElementById("box").innerHTML=xmlhttp.responseText;
}
}
xmlhttp.open("GET","getrecord.php?q=numlat&r=numlong", true);
xmlhttp.send();
}
我的主要问题是如何使用numlat和numlong作为2个参数向getrecord.php服务器发送请求?我将需要使用var numlat和var numlong值在我的数据库中执行SELECT并在browser.php中显示它们。
getrecord.php
$q = $_GET['q'];//i am trying to get the latitude
$r = $_GET['r'];//i am trying to get the longitude
//i will need to use $q and $r to do a SELECT in my database.
很抱歉,如果这是一个菜鸟问题。
答案 0 :(得分:1)
这应该这样做
xmlhttp.open("GET","getrecord.php?q=" + numlat + "&r=" + numlong, true);
xmlhttp.send();
答案 1 :(得分:1)
了解XMLHttpRequest对象如何在JavaScript中工作的细节可能很有价值,但这样做非常麻烦。
我建议使用像jQuery这样的JavaScript框架。它会缩短您的代码:
function loadrecord(numlat,numlong)
{
if(numlat=="" || numlong==""){
$("#box").html("");
return;
}
$.get("getrecord.php?q="+numlat+"&r="+numlong, function(response_text) {
$("#box").html(response_text);
});
}