0

フロントエンドのバックエンド データベースまたはサーバーでエラーを表示する必要があります。(テーブルの削除、パスワードの不一致、サーバー接続など)これを行う考えがありません。

私がやった: mypage.jsp

<script type="text/javascript" src="js/jquery.js"></script>
        <script type="text/javascript">
$(document).ready(function() {
    $.ajaxSetup({
        error: function(jqXHR, exception) {
            if (jqXHR.status === 0) {
                alert('Not connect.\n Verify Network.');
            } else if (jqXHR.status == 404) {
                alert('Requested page not found. [404]');
            } else if (jqXHR.status == 500) {
                alert('Internal Server Error [500].');
            } else if (exception === 'parsererror') {
                alert('Requested JSON parse failed.');
            } else if (exception === 'timeout') {
                alert('Time out error.');
            } else if (exception === 'abort') {
                alert('Ajax request aborted.');
            } else {
                alert('Uncaught Error.\n' + jqXHR.responseText);
            }
        }
    });
});
      </script>

<body>
<form id="test">
            <table id="data" cellpadding="5px;" cellspacing="5px;">
                <tr>
                    <td>name</td>
                    <td>c_price</td>

                </tr>

 <%
            Connection connection = null;

            Class.forName("oracle.jdbc.OracleDriver");
                try{
                connection = DriverManager.getConnection("jdbc:oracle:thin:@...","u_name","pwd");
                Statement stmt = connection.createStatement();

                ResultSet rs = stmt.executeQuery("SELECT * FROM test_tbl");

            while(rs.next())
                {
                   %>

   <tr>
        <td><%out.print(rs.getString("name"));%></td>
        <td><%out.print(rs.getString("c_price"));%></td>        
   </tr>
    <% }%>

<%
            connection.close();
       }
      catch(Exception e)
      {
      JOptionPane.showMessageDialog(null,"Error = " + e.getMessage());
     }//end of catch
    %>    

</table>     
</body>

フロント エンドからの実行中に、テーブル test_tbl をバック エンドから削除しましたが、Web ページにアラートが表示されません。間違った pwd も入力しましたが、エラーは表示されませんでした。どうすればこの問題を解決できますか??

次の場合に警告ボックスを表示する必要があります。

バックエンドにテーブルがない場合。上記の ajax コードは、n/w エラーのアラート ボックスを表示しますが、データベースにテーブルがない場合、またはパスワード/ユーザー名が一致しない場合にアラート ボックスを表示する方法???

4

1 に答える 1

0

ユーザー名/パスワードをajaxを介してチェックするためのコードもJSPにも表示されないため、その答えを出すことはできません。

catchテーブルがないときにアラートを表示するために、バックエンドからデータベース テーブルを削除した後にページを更新しましたか (ブロック以外のテーブルをチェックするために起動する ajax 呼び出しが表示されないため)。

また、私はこれを考えていません: JOptionPane.showMessageDialog(null,"Error = " + e.getMessage());JSP で動作すると思います。代わりに、次のようにしてメッセージを表示できます。

// your code ...
<%
        connection.close();
    }
    catch(Exception e)
    {
%>
<div id="errorMsg" class="errorMsg">
Error = <%= e.getMessage() %>
</div>
<%
    }//end of catch
%>
// your code continues ...

ページが完全にロードされた後にコンテンツを取得してアラートを表示するjavascriptコードを配置することもできます。<div>

フローを示すコードと、何をしているのかについての詳細を貼り付けることができれば、役に立ちます。

お役に立てれば。

于 2012-07-25T10:15:17.223 に答える