如何在AJAX请求中使用GET调用PHP文件?
我试图从一个PHP文件中获取数据,该文件在AJAX请求中分配了get参数: xmlhttp.open(“GET”、“getMyData.php?name=“+name+”&email=“+email,true”) 我可以这样调用getMyData.php吗,或者它必须位于项目的根目录中?现在与javascript文件位于同一目录中 另外,如果可能的话,提供一个小示例,说明如何将返回的数据插入到输入字段中 非常感谢 这里是一个例子如何在AJAX请求中使用GET调用PHP文件?,php,javascript,ajax,xmlhttprequest,Php,Javascript,Ajax,Xmlhttprequest,我试图从一个PHP文件中获取数据,该文件在AJAX请求中分配了get参数: xmlhttp.open(“GET”、“getMyData.php?name=“+name+”&email=“+email,true”) 我可以这样调用getMyData.php吗,或者它必须位于项目的根目录中?现在与javascript文件位于同一目录中 另外,如果可能的话,提供一个小示例,说明如何将返回的数据插入到输入字段中 非常感谢 这里是一个例子 var xmlhttp; if (window.XMLHttpRe
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.
}
encodeURIComponent应该用于转义放在url中的数据。一封有效的电子邮件可以包含“&”。谢谢,解决方案有效。问题是我使用的php文件。