页面修改的时候用到AJAX,之后提交到自身的脚本做处理
<script type="text/javascript">
function updateName_fathor(nid,npid)
{ var name = document.getElementsByName("sname"+nid)[0];
var name_old = document.getElementsByName("sname_old"+nid)[0];

if(name.value.length>=2)
{
if(name.value != name_old.value)
{ old_name = name.value;
nid_1 = nid;
createHttpRequest();
var url = "<%=path%>/DataDictionary/dataDictionaryList.jsp?dataType=updateFathorName&name="+name.value+"&npid="+npid+"&nid="+nid+"&date="+new Date();
alert(url);
xmlHttp.open("GET",url,true);
xmlHttp.onreadystatechange=showFathorResponse;
xmlHttp.send(null);
}else
{
alert("您要修改的内容未作什么改动!");
}
}else
{
alert("请输入类别名称,长度为2-30");
}
}

function showFathorResponse(){
if(xmlHttp.readyState==4){
var result=xmlHttp.responseText;
alert(result);
if(result=="success1"){
alert("修改成功");
var name_old = document.getElementsByName("sname_old"+nid_1)[0];
name_old.value = old_name;
}else{
alert("名称不能重复,请重新修改!");
}
}
}
</script><% request.setCharacterEncoding("GBK");
response.setCharacterEncoding("GBK");
response.setContentType("text/html");
String type=request.getParameter("dataType");
String nid=request.getParameter("nid");
String name=request.getParameter("name");
String npid=request.getParameter("npid");
if(type!=null&&!type.equals("")){
if(type.equals("updateFathorName")){
String result="";
boolean flag=dataDictionary.updateData(nid,name,npid);
if(flag==true){
result="success1";
out.clear();
out.print(result);
out.flush();
}else{
result="error1";
out.clear();
out.print(result);
out.flush();
}
}
}
%>
小弟我原先是想返回success或者error来做相应的判断处理,正常情况应该是上面alert(result)的结果应该是success1或者error可结果页面返回的时候却把页面的HTML元素都打印出来

解决方案 »

  1.   

    补充一下,结果打印的是
    error!
    <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
    <html>
      <head>
        <base href="<%=basePath%>">
        
        <title>My JSP 'dataDictionary.jsp' starting page</title>
        
    <meta http-equiv="pragma" content="no-cache">
    <meta http-equiv="cache-control" content="no-cache">
    <meta http-equiv="expires" content="0">    
    <meta http-equiv="keywords" content="keyword1,keyword2,keyword3">
    <meta http-equiv="description" content="This is my page">
    <!--
    <link rel="stylesheet" type="text/css" href="styles.css">
    -->
    <script type="text/javascript">
    function checkName()
    {
    var name =document.getElementById("name").value;
    var nameSpan = document.getElementById("nameSpan");
    if(name==null||name=="")
    {
    nameSpan.innerHTML = "<img src='<%=path%>/images/cc_error.gif'/><font style='color:red'>类别名称不能为空</font>";
    return false;
    }
    else{
    return true;
    }
    }
    var xmlHttp;
              //创建xmlHttp
              function createHttpRequest(){
                  
                 if(window.XMLHttpRequest){
                     //火狐
                    xmlHttp=new XMLHttpRequest();
                 }else if(window.ActiveXObject){
                 //IE
                 xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
                  }
                 
              }
    function isIn(){
    createHttpRequest();
    var name=document.getElementById("name").value;
    var npid=document.getElementById("npid").value;
    if(checkName()){
    var url="<%=path%>/DataDictionary/addData.jsp?name="+name+"&npid="+npid+"&dataType=checkName&date="+new Date();
    alert(url);
    xmlHttp.open("GET",url,true);
    xmlHttp.onreadystatechange=responseResult;
    xmlHttp.send(null);
    }

    }
    function responseResult(){
    if(xmlHttp.readyState==4){
    var result=xmlHttp.responseText;
    var nameSpan = document.getElementById("nameSpan");
    if(result=="exist"){
    nameSpan.innerHTML = "<img src='<%=path%>/images/cc_error.gif'/><font style='color:red'>类别名称重复!</font>";
    }else{
    nameSpan.innerHTML = "<img src='<%=path%>/images/cc_error.gif'/><font style='color:red'>恭喜您,可以使用该名称</font>";
    }
    }
    }
    </script>
      

  2.   

    这个本来就是取的请求页面的元素responseText只不过以text形式表现而已
      

  3.   

    你可以把if(flag==true){
    把上面逻辑都包含进去,然后success不设,只在else里设error
    然后js判断里只判断error,其他的就算成功
    当然你也可以往页面隐含域设一个值,然后js读取也是可以的