1

コード ビハインドで「成功」を使用して testMethod() を呼び出すように以下のコードを変更する方法は? testMesthod() からの戻り値を待って処理する必要があります。

$.ajax( { 

    url : 'myPage.aspx/testMethod', 
    type : "POST", 
    contentType : "application/json; charset=utf-8", 
    data : "{'name':'" + aNb + "'}", 
    dataType : "json"

 }).done(function() {
      alert("ok");
 }).fail(function() {
      alert("not ok");
 }); 

上記のコードは、何らかの形で最新の JQuery バージョン (1.10.1) が 1.3.2 によって上書きされるため、機能しません。

ありがとうございました

4

3 に答える 3

0

@Karen Slon - 質問を正しく理解していれば、クライアント側をサーバー側から概念的に分離する必要があると思います。.success/.done またはグローバル ajaxSuccess イベントのコールバックにより、サーバー側がリクエスト 'myPage.aspx/testMethod' を処理している間、Web ページでリクエストを開始して処理を続けることができます。正常に完了すると、成功イベントに戻ります。testMethod が何も返さない場合は、結果なしで成功イベント イベントになります。ただし、Web メソッド testMethod が正常に完了して制御を戻さない限り、そこに到達することはできません。あなたの例の .done イベントには alert("ok"); しかありません。.done イベントが発生したときに Web メソッド testMethod が完了していないと考える理由は何ですか?

より良い例については、これらの投稿をご覧ください。

jQuery.ajax 処理は応答を続行します:「成功:」対「.done」?

http://encosia.com/using-jquery-to-directly-call-aspnet-ajax-page-methods/

http://api.jquery.com/category/deferred-object/

于 2013-09-12T04:33:40.100 に答える