Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/233.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在AJAX请求中使用GET调用PHP文件?_Php_Javascript_Ajax_Xmlhttprequest - Fatal编程技术网

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

如何在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

我试图从一个PHP文件中获取数据,该文件在AJAX请求中分配了get参数:

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

encodeURIComponent应该用于转义放在url中的数据。一封有效的电子邮件可以包含“&”。谢谢,解决方案有效。问题是我使用的php文件。