AJAX xmlhttp.open

时间:2014-02-21 16:55:54

标签: javascript php ajax

我目前正在尝试使用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.

很抱歉,如果这是一个菜鸟问题。

2 个答案:

答案 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);
    });
}