0

jqueryからwebmethodを呼び出してjsonオブジェクトを取得していますが、jsonオブジェクトを解析して読み取ることができません。私が間違っていることを見つけるのを手伝ってください。私は3つのalert()を持っており、それらの横にコメントを付けています...

私のjqueryコードはこれです

$('#btn_second').click(function () {
            //$('#txt_isim_4').val('test arif');
            $.ajax({
                type: "POST",
                url: "Registration.aspx/get_selected_professional",
                data: "{'id':'2'}",
                contentType: "application/json; charset=utf-8",
                dataType: "json",
                success: function (data) {
                    alert('1:' + data); // display [object Object]
                    alert('2:' + data.d.firstname); // display undefined
                    alert('3:' + data.d);  // display [{"id":"2","firstname":"arif"}]
                }
            });
        });

でも「アリフ」だけを表示したいです。私のjsonオブジェクトは間違っていますか?一重引用符を使用する必要がありますか?

ありがとうございました

4

3 に答える 3

1

配列があり、インデックスを使用し、データに中括弧を使用してオブジェクトを作成します。

ライブデモ

json文字列をに変更します

[{"id":"2","firstname":"arif"}]

配列インデックスインデクサーを使用してその要素にアクセスします

data.d[0].id
于 2013-03-07T12:27:26.453 に答える
1

あなたwebmethodがこのようなものだとしましょう:

public string get_selected_professional(string id)
{
   List<MyClass> requiredData= GetRequiredData(id);
   //your required logic

   //string requiredData= "[{\"id\":\"2\",\"firstname\":\"arif\"}]";
   //return requiredData;

   //or

   return new JavascriptSerializer().Serialize(requiredData);
}

どこにMyClassありますか

public class MyClass
{
   public int id {get;set;}
   public string firstname{get;set;}
}

:success次に、クライアント側のajax内でこれを行う必要があります。

success: function (data) {
                    var jsonData =$.parseJSON(data);
                    alert('1:' + jsonData); // display [object Object]
                    alert('2:' + jsonData.d.firstname); // display undefined
                    alert('3:' + jsonData.d);             
     }
于 2013-03-07T12:44:44.727 に答える
0

データを解析する必要があります。

var result = jQuery.parseJSON(data.d);
alert(result[0].Id);
于 2013-03-07T12:43:25.767 に答える