日期:2014-05-17  浏览次数:20538 次

问个简单的ajax问题,我都急死了~
刚学ajax,写了一段~~感觉js里面的那个if(str=="good")不起作用~~如果单独拿出来返回的话 确实输出good
放进去判断就不行了 不知道为什么啊 求解~弄了我好长时间~~急死了 新手求教!!!!





这是html

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript" language="javascript" src="worinima.js"></script>
</head>

<body>


<a href="#" onclick="upsdowns('l','f','fsdf','sdf')">dsds</a>


</body>
</html>



这是js:


var xmlHttp;
function upsdowns(ac,id,ud,mk)//,did)
{

//获取xmlHttpObject对象,如果为空,提示浏览器不支持ajax
  xmlHttp=GetXmlHttpObject();
var url;
 url="ajax.php"+"?ac="+escape(ac)+"&url="+url+"&id="+escape(id)+"&ud="+escape(ud)+"&mk="+escape(mk)+"&sid="+Math.random();
 //回调函数,执行动作
xmlHttp.onreadystatechange=stateChanged; 
 //open
xmlHttp.open("GET",url,true);
xmlHttp.setRequestHeader("Content-Type","application/x-www-form-urlencoded");
xmlHttp.send(null);


function stateChanged() 
{

if (xmlHttp.readyState==4)

  {if(xmlHttp.status==200)   // phparray=new Array()
     
 var str=xmlHttp.responseText;
 if(str=="dasda")
 alert(str);
 //document.getElementById("txtHint").innerHTML=str;
    
   }
}

}
//获取xml对象
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;
}



这是ajax.php


header("Content-type: text/html;charset=utf-8");
header('Vary: Accept-Language'); 
$w=$_GET['ac'];
$a=$_GET['id'];
$r=$_GET['ud'];;
$t=$_GET['mk'];
if($w!==''&&$a!=''&&$r!==''&&$t!=='')
{echo"good";
}


------解决方案--------------------
function stateChanged() 
{
     
if (xmlHttp.readyState==4)

  {if(xmlHttp.status==200)   // phparray=new Array()
      
     var str=xmlHttp.responseText;
     if(str=="dasda")
     alert(str);
     //document.getElementById("txtHint").innerHTML=str;
     
   }
}
 
}
标红处大括号位置放错了吧,应该是
function stateChanged() 
{
     
if (xmlHttp.readyState==4)