[英]AJAX xmlhttp.open
我目前正在尝试使用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.
抱歉,如果这是一个菜鸟问题。
这应该做
xmlhttp.open("GET","getrecord.php?q=" + numlat + "&r=" + numlong, true);
xmlhttp.send();
了解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);
});
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.