0

jquery ajax メソッドを使用して、「スパン」をクリックすると webmethod を呼び出します。これは webmethod が aspx ページの 1 つにあり、次のコードを使用してマスター ページから呼び出しています。

 $(document).ready(function(){
     $("#btn").click(function() {
        $.ajax({   
              type: "POST", 
              url: "Default.aspx/removedata",
              data:"{}",
              contentType: "application/json; charset=utf-8",
              dataType: "json",  
              success:function(msg) {  
                   $("li#search").removeClass('current');
                   $("li#search").addClass('hide');
                   $("#tabnew").addClass('hide');
                   window.location="Result.aspx";       
              },
              error:function(xhr, status, error) {
                  alert("error");                       
                  //var err = eval("(" + xhr.responseText + ")");
                  // Display the specific error raised by the server 
                  //alert(err.Message);
                  console.log(xhr.statusText);
              }
          });
       });
    });

スパンをクリックすると、webmethod が (デバッグによって) 呼び出されていることがわかりますが、webmethod の実行が開始される前でも、アラート「エラー」が表示され、 (空の文字列) メッセージが firebug コンソールに記録されていることがわかります。私が知る限り、「エラー」関数は ajax リクエストが失敗した場合にのみ実行されます。

誰かがこれを手伝ってくれませんか。

ありがとう

4

1 に答える 1

1

サーバー側のスクリプトが 200 以外のエラー コードを返した場合、ハンドラーerrorが実行されます。

于 2010-08-18T14:16:31.107 に答える