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

How can I call a PHP file with GET on an AJAX request?

本文关键字:GET 调用 PHP 文件 AJAX 请求      更新时间:2023-09-26

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

xmlhttp.open("GET","getMyData.php?name="+name+"&email="+email,true);

我可以这样调用getMyData.php吗?或者它必须在项目的根目录中?现在与javascript文件位于同一目录中。

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

谢谢大家!

这里是的示例

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();
}

查看此处获取更多信息和示例

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

关于最后一部分,我剪掉了一点代码(例如,你可以在这里找到完整的代码),但重点是:

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.
}