Javascript 使用两个GetXmlHttpObject结果
我正在尝试为我构建的一个小型php/js添加功能,但无法使其正常工作。Javascript 使用两个GetXmlHttpObject结果,javascript,response,xmlhttprequest,Javascript,Response,Xmlhttprequest,我正在尝试为我构建的一个小型php/js添加功能,但无法使其正常工作。 通常,我对两个不同的URL进行两次获取,并且我需要在两个不同的框中使用此URL的回复。 I'v trued:分离变量端口名称;它们等于/调用$port_name或port_name 守则的有关部分: <script type="text/javascript"> function showPortName() { xmlHttp=GetXmlHttpObject(); if (xmlHttp==null) {
通常,我对两个不同的URL进行两次获取,并且我需要在两个不同的框中使用此URL的回复。
I'v trued:分离变量端口名称;它们等于/调用$port_name或port_name 守则的有关部分:
<script type="text/javascript">
function showPortName()
{
xmlHttp=GetXmlHttpObject();
if (xmlHttp==null)
{
alert ("Your browser does not support AJAX!");
return;
}
var oob=document.getElementById("oob_name").value;
var port=document.getElementById("port").value;
var url="oob_get_port_name.php";
var url2="oob_get_location.php";
url=url+"?oob="+oob+"&port="+port;
xmlHttp.open("GET",url,true);
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.send(null);
var port_name=xmlHttp.responseText.value;
url2=url2+"?oob="+oob+"&port="+port;
xmlHttp.open("GET",url2,true);
xmlHttp.onreadystatechange=stateChanged;
xmlHttp.send(null);
}
function stateChanged()
{
if (xmlHttp.readyState==4)
{
document.getElementById("device_name").value=$port_name;
document.getElementById("device_location").value=xmlHttp.responseText;
}
}
function GetXmlHttpObject()
{
var xmlHttp=null;
try
{
// Firefox, Opera 8.0+, Safari
xmlHttp=new XMLHttpRequest();
}
catch (e)
{
// Internet Explorer
try
{
xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
}
catch (e)
{
xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
}
}
return xmlHttp;
}
</script>
函数showPortName()
{
xmlHttp=GetXmlHttpObject();
if(xmlHttp==null)
{
警告(“您的浏览器不支持AJAX!”);
回来
}
var oob=document.getElementById(“oob_name”).value;
var port=document.getElementById(“端口”).value;
var url=“oob\u get\u port\u name.php”;
var url2=“oob\u get\u location.php”;
url=url+“?oob=“+oob+”&port=“+port;
open(“GET”,url,true);
onreadystatechange=stateChanged;
xmlHttp.send(空);
var port_name=xmlHttp.responseText.value;
url2=url2+“?oob=“+oob+”&port=“+port;
open(“GET”,url2,true);
onreadystatechange=stateChanged;
xmlHttp.send(空);
}
函数stateChanged()
{
if(xmlHttp.readyState==4)
{
document.getElementById(“设备名称”)。值=$port\u name;
document.getElementById(“设备位置”).value=xmlHttp.responseText;
}
}
函数GetXmlHttpObject()
{
var xmlHttp=null;
尝试
{
//Firefox、Opera 8.0+、Safari
xmlHttp=新的XMLHttpRequest();
}
捕获(e)
{
//Internet Explorer
尝试
{
xmlHttp=新的ActiveXObject(“Msxml2.xmlHttp”);
}
捕获(e)
{
xmlHttp=新的ActiveXObject(“Microsoft.xmlHttp”);
}
}
返回xmlHttp;
}
您不能从异步函数返回,所有的try/catch都是什么?我已经尝试将xmlHttp.open(“GET”,url2,true)-->更改为false。相同。对于第二个请求,您应该使用一个新的xmlHttp2=GetXmlHttpObject()
我不能将您的注释标记为“应答”,但它是有意义的,甚至是有效的!)谢谢