我正在尝试从AJAX请求中分配了GET参数的PHP文件中获取数据:
xmlhttp.open( “GET”, “getMyData.php名=?” +名称+ “&安培;电子邮件=” +电子邮件,TRUE);
我可以像这样调用getMyData.php,还是必须在项目的根目录中?现在与javascript文件位于同一目录中。
此外,如果可能,还有一个如何将返回数据插入输入字段的小例子。
非常感谢!
答案 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.
}