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

jquery 中提交出错
jquery使用 $.ajax提交数据时,当第一次调用时 ,后台执行正常,但会执行error 显示 “执行有误”。当刷新页面选择其他数据,再次使用$.ajax 时,能够正常调用前台的doBack函数。
JScript code

var params="method="+"<%=method%>&fields="+fieldValue;    
            $.ajax({
                  type: "POST",
                   url: "../../xtgl/wfm/ApplyServlet.do",
                   dataType :"xml",
                   data:   params,
                  success: doBack ,
                  error: function(msg){
                     alert("执行有误!");
                }
            });



后台java代码
Java code

String fields=AmsFunction.ObjToStr(req.getParameter("fields"));
        
        String message ="操作失败";
        try {
            String sql="update T_Rmase set C_STATE='0' where id in ("+fields+")";
                logger.info(sql);
                int i = dao.executeUpdate(sql, null);
                logger.info(i);
                message ="操作成功";
            
        } catch (SQLException e) {
            return ;
        }
        
        res.setContentType("text/xml");
        res.setCharacterEncoding("UTF-8");
        Document doc=DocumentHelper.createDocument();
        Element root=doc.addElement("xml");
        PrintWriter out=null;
        try {
            out=res.getWriter();
            out.flush();
        } catch (IOException e) {
            e.printStackTrace();
        }
        
        root.addAttribute("message", message);
        root.addAttribute("type", "includeRmase");
        OutputFormat format = new OutputFormat();
        format.setEncoding("UTF-8");
        XMLWriter writer = new XMLWriter(out, format);
        try {
            writer.write(doc);
            writer.close();
        } catch (IOException e) {
            e.printStackTrace();
        }finally{
            out.close();
        }






------解决方案--------------------
(默认: 自动判断 (xml 或 html)) 请求失败时调用此函数。有以下三个参数:XMLHttpRequest 对象、错误信息、(可选)捕获的异常对象。如果发生了错误,错误信息(第二个参数)除了得到null之外,还可能是"timeout", "error", "notmodified" 和 "parsererror"。Ajax 事件。 

function (XMLHttpRequest, textStatus, errorThrown) {
// 通常 textStatus 和 errorThrown 之中
// 只有一个会包含信息
this; // 调用本次AJAX请求时传递的options参数
}


你先用这个 查看 下 具体的原因错误吧