我目前正在尝试使用 AJAX 从数据库中检索选定的记录。我有 2 个文件 - browser.php 和 getrecord.php。
在 browser.php 中,我使用 geolocation javascript 获取纬度和经度并将它们存储在全局变量中:
浏览器.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.
抱歉,如果这是一个菜鸟问题。
最佳答案
了解 XMLHttpRequest 对象如何在 JavaScript 中工作的细节可能很有值(value),但一直这样做可能会非常麻烦。
我建议使用像 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);
});
}
关于javascript - AJAX xmlhttp.open,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21940430/