如何在AJAX请求中使用GET调用PHP文件?

时间:2012-03-30 09:02:01

标签: php javascript ajax xmlhttprequest

我正在尝试从AJAX请求中分配了GET参数的PHP文件中获取数据:

  

xmlhttp.open( “GET”, “getMyData.php名=?” +名称+ “&安培;电子邮件=” +电子邮件,TRUE);

我可以像这样调用getMyData.php,还是必须在项目的根目录中?现在与javascript文件位于同一目录中。

此外,如果可能,还有一个如何将返回数据插入输入字段的小例子。

非常感谢!

2 个答案:

答案 0 :(得分:2)

这里的例子是

var xmlhttp;
if (window.XMLHttpRequest)
{// code for IE7+, Firefox, Chrome, Opera, Safari
xmlhttp=new XMLHttpRequest();
}
else
{// code for IE6
xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
}
xmlhttp.onreadystatechange=function()
{
if (xmlhttp.readyState==4 && xmlhttp.status==200)
{
  //xmlhttp.responseText; //content 
  document.getElementById("myDiv").innerHTML=xmlhttp.responseText; //write inside myDiv
}
}
xmlhttp.open("GET","getMyData.php",true);
xmlhttp.setRequestHeader("Content-type","application/x-www-form-urlencoded");
xmlhttp.send("name="+name+"&email="+encodeURIComponen(email));
xmlhttp.send();
}

Look here获取更多信息和示例

答案 1 :(得分:0)

看看relative and absolute paths。您将了解/../等的工作原理。如果PHP文件与执行javascript的网页位于同一文件夹中,您还会看到您的示例是正确的。

关于最后一部分,我正在切断一些代码(例如你可以完全找到here),但这里有一点:

if (xhr.readyState === 4 && xhr.status === 200) {
    // The datas returned by PHP are in the variable 'xhr.responseText' or 'xhr.responseXml'.
    // In this case you can add straight the HTML into a DIV, but you usually have datas in JSON.
    // To "transform" your JSON string into a javascript object, use the following:
    //     var obj = JSON.parse(xhr.responseText)
    document.getElementById("myDiv").appendChild(xhr.responseXml) // Don't use 'innerHTML', it is evil.
}