2011-06-29 7 views
0

私は、実行時間の長いタスクとプログレスバーのjquery ajax呼び出しを持つasp.netページを持っています。成功すると、進捗状況をintに返すだけでなく、私が現在行っているレコードのようなステータスのテキストも渡したいと思います。asp.netとjquery ajaxが成功すると値が2つ以上返されます

私が知っていることは正しくありませんが、どうすれば1つ以上の値を返すことができますか?

両方の値を取得するには、 'msg'の正しい構文は何ですか?

私は配列またはクラスを考えましたが、動作しません。

function updateProgress() {    
     $.ajax({ 
       type: "POST", 
       url: "Users.aspx/GetProgress", 
       data: "{}", 
       contentType: "application/json; charset=utf-8", 
       dataType: "json", 
       async: true, 
       success: function(msg) { 
        $("#result").text = msg.Status; 
        var value = $("#progressbar").progressbar("option", "value"); 
        if (value < 100) { 
         $("#progressbar").progressbar("value", msg.Progress); 
        } 
       } 
      }); 
    } 
+0

WebサービスからJSONを返してみませんか?そうすれば、オブジェクト全体を返すことができます – MoarCodePlz

+0

これを例に挙げることができますか? jquery ajaxで初めて作業したのは – user204588

+0

http://williamsportwebdeveloper.com/cgi/wp/?p=494これはJSONとして戻り値をシリアライズする方法を示しています。フロントエンドのJavascriptは以下のDave Longの答えを見ています。 – MoarCodePlz

答えて

1

あなたのページは、次のようなJSON文字列を返す必要があります:あなたはちょうどたとえば、オブジェクトに返されたJSON文字列を解析する必要がある必要があり、

["Progress" : 1, "Status" : "Current Status"] 

async: true, 
success: function(msg) { 
    var obj = jQuery.parseJSON(msg); 
    $("#result").text = obj.Status; 
    var value = $("#progressbar").progressbar("option", "value"); 
      if (value < 100) { 
        $("#progressbar").progressbar("value", obj.Progress); 
       } 
      } 

希望があれば、 Dave

参考:http://api.jquery.com/jQuery.parseJSON/

関連する問題