几个方法调用后,Ajax方法停止工作

时间:2015-07-23 10:30:11

标签: jquery html ajax spring hibernate

我创建了一个ajax方法来调用更改下拉选项。此方法命中我的控制器中定义的方法以从数据库中获取一些数据。

此方法适用于少数初始选项更改但突然停止工作。

以下是ajax方法:

taxonomy=portfolio_category&tag_ID=80&post_type=portfolio

以下是我的弹簧控制器的方法:

$("#projectId").on("change", changeCheckProjectId);
    function changeCheckProjectId(event) {

        var projectId = $("#projectId").val();
        var projectEnvironmentId = $("#environmentId").val();

            if (projectId != 0 && projectEnvironmentId != 0) {

                var bothId = projectId + "," + projectEnvironmentId;

                $.ajax({
                    url : 'getWorkFlowValues.do',
                    type : 'GET',
                    data : {
                        "bothId" : bothId
                    },
                    success : function(json) {
                        if (json.length != 0) {
                            $("#errorProjectEnvironment")
                              .addClass('hidden')
                              .html('');
                            var isAssigned = json[0].assigned;
                            var isTransition = json[0].transition;
                            var isResolved = json[0].resolveIssue;
                            var isComment = json[0].commented;
                            if (isAssigned == true) {
                                $("#divAssigned")
                                  .removeClass('hidden');
                            } else {
                                $("#divAssigned").addClass('hidden');
                            }

                            if (isResolved == true) {
                                $("#divResolution")
                                  .removeClass('hidden');
                            } else {
                                $("#divResolution")
                                  .addClass('hidden');
                            }

                            if (isComment == true) {
                                $("#divComment")
                                  .removeClass('hidden');
                            } else {
                                $("#divComment")
                                  .addClass('hidden');
                            }

                            if (isTransition == true) {
                                $("#divTransition")
                                  .removeClass('hidden');
                            } else {
                                $("#divTransition")
                                  .addClass('hidden');
                            }
                        } else {
                            $("#errorProjectEnvironment")
                              .removeClass('hidden')
                              .html('<div class="form-group">There is no workflow for these project and environment<div>');
                            $("#divAssigned").addClass('hidden');
                            $("#divResolution").addClass('hidden');
                            $("#divComment").addClass('hidden');
                            $("#divTransition").addClass('hidden');
                        }
                    },
                    error : function(jqXHR, textStatus,
                            errorThrown) {
                        console.log(textStatus);
                    }
                });
            }
        }

任何人都可以帮助我,因为我对ajax完全不熟悉。

1 个答案:

答案 0 :(得分:0)

问题现已解决,问题的原因是数据库连接:

最初我们使用以下方法使用hibernate连接数据库:

  1. 公开会话
  2. 执行操作
  3. 关闭会话
  4. 但是,这种方法正在泄漏连接并使数据库陷入僵局。

    使用hibernate数据库的最佳技术如下:

    1. 而不是openSession()使用getCurrentSession()
    2. 然后beginTransaction();
    3. 执行数据库操作
    4. 然后commitTransaction();
    5. 例如

          try
          {
              session = getSession();
              Transaction tx = session.beginTransaction();
              Query query=session.createQuery(HibenateQueryConstant.UPDATE_TICKET.toString());
              /*
               Other tasks
              */
              query.executeUpdate();          
              saveComment(updatejirabean , req);
              tx.commit();
              isSaved=true;
          }
          catch (Exception e) 
          {
              e.getMessage();
              isSaved=false;
          } 
          finally
          {
      
          }
      

      随时欢迎您的宝贵意见。