如何解决PHP Ajax函数在Win 2003 machin中不起作用
| 我已经用javascript(对于PHP)编写了ajax函数。在WIN-XP机器上可以正常工作,但在Win-2003上则无法工作。 对于onclick事件,我正在调用fun_LeaveLength_JS_G
函数。在里面,我正在设置xmlhttp2.onreadystatechange = function()。那没有执行。
我的功能如下:
function fun_LeaveLength_JS_G(dG1,dG2)
{
err2=true;
G_EmpIdFromJS=document.frmleaveApp.txtG_EmpId.value;
G_PL_CountJS=document.frmleaveApp.txt_PLCount.value;
PLAvailabe_JS= document.frmleaveApp.PL_available.value;
CLAvailabe_JS=document.frmleaveApp.CL_available.value;
LWPAvailabe_JS=document.frmleaveApp.LWP_available.value;
MLAvailabe_JS=document.frmleaveApp.ML_available.value;
COMPAvailabe_JS=document.frmleaveApp.COMP_available.value;
FromHomeAvailabe_JS=document.frmleaveApp.txt4mHome_available.value;
LeaveType_JS=document.frmleaveApp.sltLeaveType.value;
alert(PLAvailabe_JS+\" \"+ CLAvailabe_JS +\" \"+ LWPAvailabe_JS +\" \"+ MLAvailabe_JS +\" \"+ COMPAvailabe_JS +\" \"+ FromHomeAvailabe_JS + \" \"+ LeaveType_JS);
if (dG1==\"\" || dG2==\"\")
{
return;
}
FromDate_G= dG1;
ToDate_G=dG2;
var d = new Date();
//if(str==\"\")
{
if (window.XMLHttpRequest)
{
xmlhttp2=new XMLHttpRequest();
}
else
{
xmlhttp2=new ActiveXObject(\"Microsoft.XMLHTTP\");
}
xmlhttp2.onreadystatechange=function()
{
alert(\"Before response from the AJAX\");
if (xmlhttp2.readyState==4 && xmlhttp2.status==200)
{
document.frmleaveApp.txtLeaveLeangth.value=xmlhttp2.responseText;
alert(\"in ajax fileError 2 is \"+err2);
alert(\"Ajax result is : \"+xmlhttp2.responseText);
//LeaveLength_JS=xmlhttp2.responseText();
if(xmlhttp2.responseText==1)
{
err2=true;
alert(\"when ajax result is 1 error 2 is \"+err2);
LeaveLength_JS=xmlhttp2.responseText();
}
if(xmlhttp2.responseText==0)
{
err2=false;// allow to apply leave
alert(\"when ajax result is 0 error 2 is \"+err2);
}
else
{
err2=true;
alert(\"when ajax result is other then error 2 is \"+err2);
Alert(\"This is developer error. Please Inform to System admin\");
}
}
}
xmlhttp2.open(\"GET\",\"http://localhost/MyProject/LeaveLength_Ajax.PHP?_Get_FromDate=\"+FromDate_G+\"&_Get_ToDate=\"+ToDate_G+\"&PLAvailabe_JS=\"+PLAvailabe_JS +\"&CLAvailabe_JS=\"+CLAvailabe_JS +\"&LWPAvailabe_JS=\"+LWPAvailabe_JS+\"&MLAvailabe_JS=\"+MLAvailabe_JS+\"&COMPAvailabe_JS=\"+COMPAvailabe_JS+\"&FromHomeAvailabe_JS=\"+FromHomeAvailabe_JS +\"&LeaveType_JS=\"+LeaveType_JS,true);
xmlhttp2.send();
}
alert(\"At the end Error 2 is \"+err2);
}
哪里出错了?我是否需要包括或安装任何支持软件?
解决方法
我认为这里的问题与操作系统无关。在Win2003上尝试此操作时,您实际上是在测试该计算机时在该计算机上吗?因为您要查询
localhost
,这意味着您正在查询本地计算机,而不是网络地址。
尝试更改此行:
xmlhttp2.open(\"GET\",\"http://localhost/...\")
对于这样的事情:
xmlhttp2.open(\"GET\",\"http://<server name or IP>/...\")
, 在这里工作正常。
您正在使用IE6?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。