当前位置:编程学习 > JS >>

ajax返回状态成功 但是数据没有更新?

<SCRIPT language=javascript>
var XMLHttpReq=false;  
        //创建一个XMLHttpRequest对象  
    function createXMLHttpRequest(){  
           if(window.XMLHttpRequest){ //Mozilla   
            XMLHttpReq=new XMLHttpRequest();  
        }  
           else if(window.ActiveXObject){  
           try{  
               XMLHttpReq=new ActiveXObject("Msxml2.XMLHTTP");  
           }catch(e){  
                       try{  
                    XMLHttpReq=new ActiveXObject("Microsoft.XMLHTTP");  
                  }catch(e){}  
                                    }  
                                }  
                            }  
        //发送请求函数  
    function send(url){  
        createXMLHttpRequest();  
        XMLHttpReq.open("GET",url,true);  
        XMLHttpReq.onreadystatechange=proce;   //指定响应的函数  
        XMLHttpReq.send(null);  //发送请求  
            }  
    function proce(){  
        if(XMLHttpReq.readyState==4){ //对象状态  
        if(XMLHttpReq.status==200){//信息已成功返回,开始处理信息  
   alert("投票成功");
        }
  else{  
            window.alert("所请求的页面有异常");  
        }  
        }  
    } 
function checkselect()
{
var checkNum=0;
var num=0;
var obj=document.getElementsByTagName("input");
for(i=0;i<obj.length;i++)
{
if(obj[i].type=="radio" && obj[i].name.indexOf("votes")!=-1 && obj[i].checked)
{
num=obj[i].value;
checkNum++;
break;
}
}
//alert(checkNum==0?"没有选择":"有选择")
if(checkNum >"0")
{
//如果有选中的话则调用创建ajax实例的autoComplete()meth
//参数为你要传入到处理页面checkvote.asp的投票数
//将值赋值给隐藏域
alert(num);
send("checkvote.asp?flvid=" + <%=SafeRequest("flvid")%> + "&votes="+num+"&t=" + new Date().getTime());
}
else
{
  alert("请选择你要投的票数");
}
}
</SCRIPT>

 

 

下面是 form

<form id="form1" name="form1" method="post" action="checkvote.asp">
  <table width="492" border="0" align="center">
    <tr>
      <td width="90" align="center" valign="middle"><input type="radio" name="votes" id="votes5" value="5" />
        <input type="image" name="imageField" id="imageField" src="styles/images/vote/vote_5.gif" />
      </td>
      <td width="90" align="center" valign="middle"><input type="radio" name="votes" id="votes4" value="4" />
        <input type="image" name="imageField2" id="imageField2" src="styles/images/vote/vote_4.gif" />
      </td>
      <td width="90" align="center" valign="middle"><input type="radio" name="votes" id="votes3" value="3" />
        <input type="image" name="imageField3" id="imageField3" src="styles/images/vote/vote_3.gif" />
      </td>
      <td width="90" align="center" valign="middle"><input type="radio" name="votes" id="votes2" value="2" />
        <input type="image" name="imageField4" id="imageField4" src="styles/images/vote/vote_2.gif" />
      </td>
      <td width="90" align="center" valign="middle"><input type="radio" name="votes" id="votes1" value="1" />
        <input type="image" name="imageField5" id="imageField5" src="styles/images/vote/vote_1.gif" />
        <input name="flvid" type="hidden" value="5"  id="flvid"/>
      </td>
      <td width="42" align="center" valign="middle"><input type="button" name="button" id="button" value="投票" onClick="return checkselect()"/>
        <input type="hidden" name="num1" id="num1" value="" />
      </td>
    </tr>
  </table>
</form>

答案:看下你上面的这段代码。

你用ajax send请求后、肯定你要在这个请求页面也就是这个url页面内执行相应的操作。比如你写insert返回true和false你是要返回给发送请求的这个页面的、返回时调用callback方法来判断请求的状态是不是200,是200了下来就该判断返回的结果了。如果xmlhttp.responseText返回的是true就成功。负责false不成功.你要明白 true和false是你在send()方法启用这个url页面给返回的值。也可以返回1或者0。都由自己随便启。callback回调方法判断的和你在返回的值 必须一致。负责无法判断、好好看下昨天给你的注册时候判读那用户名那段代码。是怎么调用方法 怎么启用ajax。怎么在check这个页面来判断注册的用户名 后返回值 、返回后 调用callback来判断返回内容。好好看看 

function proce(){  
        if(XMLHttpReq.readyState==4){ //对象状态  
        if(XMLHttpReq.status==200){//信息已成功返回,开始处理信息  
   alert("投票成功");
        }
  else{  
            window.alert("所请求的页面有异常");  
        }  
        }  
1: 首先没有见你

数据访问层是不是用了什么框架?那么SQL语句可能不能改变数据库 需要用声明式事务

上一个:Ajax 的实现局部刷新,高手进
下一个:利用AJAX传递多个表格的值

CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,