function HttpRequest(sUrl,fpCallback)
{ this.request = this.createXmlHttpRequest();
this.request.open("GET",sUrl,true); var tempRequest = this.request;
function request_readystatechange()
{ if (tempRequest.readyState == 4)
{ if (tempRequest.status == 200)
{
fpCallback(tempRequest.responseText);
}
else if (tempRequest.status == 0)
{ alert("An error occurred trying to contact the server."); }
else
{ alert("错误"); }
}
} this.request.onreadystatechange = request_readystatechange;}HttpRequest.prototype.createXmlHttpRequest = function ()
{
if (window.XMLHttpRequest)
{ var oHttp = new XMLHttpRequest();
return oHttp; }
else if (window.ActiveXObject)
{ var versions =
[
"MSXML2.XmlHttp.6.0",
"MSXML2.XmlHttp.3.0"
];
for (var i = 0; 1 < versions.length; i++)
{ try
{ var oHttp = new ActiveXObject (versions[i]);
return oHttp; }
catch (error)
{ //do nothing here }
}
} return null;}HttpRequest.prototype.send = function ()
{ this.request.send(null);}<html>
<head>
<script type="text/javascript" src="httprequest.js"></script>
</head>
<body>
<script type="text/javascript">
function handleData(sResponseText)
{
alert(sResponseText);
}
var url = "http://localhost/test1/111.php?userName=" + "aaa";
var request = new HttpRequest(url,handleData);
request.send();
</script>
</body>
</html>
<?php
$a = $_GET[userName];
return $a;
?>
我少知道错在哪里了。xmlhttprequestjavascripthtmlurlphp
{ this.request = this.createXmlHttpRequest();
this.request.open("GET",sUrl,true); var tempRequest = this.request;
function request_readystatechange()
{ if (tempRequest.readyState == 4)
{ if (tempRequest.status == 200)
{
fpCallback(tempRequest.responseText);
}
else if (tempRequest.status == 0)
{ alert("An error occurred trying to contact the server."); }
else
{ alert("错误"); }
}
} this.request.onreadystatechange = request_readystatechange;}HttpRequest.prototype.createXmlHttpRequest = function ()
{
if (window.XMLHttpRequest)
{ var oHttp = new XMLHttpRequest();
return oHttp; }
else if (window.ActiveXObject)
{ var versions =
[
"MSXML2.XmlHttp.6.0",
"MSXML2.XmlHttp.3.0"
];
for (var i = 0; 1 < versions.length; i++)
{ try
{ var oHttp = new ActiveXObject (versions[i]);
return oHttp; }
catch (error)
{ //do nothing here }
}
} return null;}HttpRequest.prototype.send = function ()
{ this.request.send(null);}<html>
<head>
<script type="text/javascript" src="httprequest.js"></script>
</head>
<body>
<script type="text/javascript">
function handleData(sResponseText)
{
alert(sResponseText);
}
var url = "http://localhost/test1/111.php?userName=" + "aaa";
var request = new HttpRequest(url,handleData);
request.send();
</script>
</body>
</html>
<?php
$a = $_GET[userName];
return $a;
?>
我少知道错在哪里了。xmlhttprequestjavascripthtmlurlphp
$a = $_GET[userName];
echo $a;
?>
url地址根本就没有发送到PHP页面
alert("An error occurred trying to contact the server.");
请使用chrome运行实例,并查看控制台有无报错输出。
倘若没有,请查看network选项卡下有无XHR请求产生。
<?php
$a = $_GET["userName"];
echo $a;
?>userName加上引号
2.为什么 只能用 echo 返回,不能用return返回
2.为什么 只能用 echo 返回,不能用return返回您好,
1 localhost是可以发起xhr请求的,但是要保证ajax请求的url与当前地址栏中的url的域名部分相同。说简单点就是不能跨域请求。
2. 因为在php中,echo 是将内容输出到http管道中,也就是作为http报文主体内容,返回给正在等待的浏览器。return 则是函数或者方法返回某个值的语法。如果在php的全局处return,则会中止后边的代码执行;如果当前php文件是include或者require包含进来的,该处return的值将作为require或include的返回值。
2.为什么 只能用 echo 返回,不能用return返回您好,
1 localhost是可以发起xhr请求的,但是要保证ajax请求的url与当前地址栏中的url的域名部分相同。说简单点就是不能跨域请求。
2. 因为在php中,echo 是将内容输出到http管道中,也就是作为http报文主体内容,返回给正在等待的浏览器。return 则是函数或者方法返回某个值的语法。如果在php的全局处return,则会中止后边的代码执行;如果当前php文件是include或者require包含进来的,该处return的值将作为require或include的返回值。谢谢您