私はajax呼び出しから関数の背後にあるコードを呼び出す作業をしています。Postメソッドを作成しましたが、リストが返されます。クライアント側から値を確認したいだけです。したがって、アラートメッセージを送信し、response.dをパラメータとして渡すだけです。ただし、実際の値ではなくオブジェクト、オブジェクトを返します。値を取得する正確な方法を知りたいですか?
[WebMethod]
public static List<person> Post()
{
List<person> List = new List<person>();
person p1 = new person();
p1.name = "Sourav";
p1.surname = "Kayal";
List.Add(p1);
person p2 = new person();
p2.name = "Sourav";
p2.surname = "Kayal";
List.Add(p2);
return List;
}
}
public class person
{
public string name { get; set; }
public string surname { get; set; }
}
<script>
$(document).ready(function () {
$.ajax({
type: "POST",
url: "JavaScript.aspx/Post",
contentType: "application/json; charset=utf-8",
dataType: "json",
success: function (response) {
var names = response.d;
alert(names);
},
failure: function (response) {
alert(response.d);
}
});
});
</script>
jQueryを機能させるにList<person>
は、C#コードでもシリアル化する必要があります-
の代わりに
return List;
以下のコードを追加します-
//Add the below using line on the top of the page where all using directives are present
using System.Web.Script.Serialization;
var jsonSerialiser = new JavaScriptSerializer();
var json = jsonSerialiser.Serialize(List);
return json;
jQueryを使用しているので、以下のコードを使用してJSONオブジェクトを解析できます。
$(document).ready(function () {
$.ajax({
type: "POST",
url: "JavaScript.aspx/Post",
contentType: "application/json; charset=utf-8",
dataType: "text",
success: function (response) {
var obj = jQuery.parseJSON(response);
alert(obj.name);
alert(obj.surname);
},
failure: function (response) {
alert(response.d);
}
});
});
上記の成功関数のコード変更により、JSONオブジェクトから値を取得する必要があります。
コメントに基づいて編集:以下の行-
var json = jsonSerialiser.Serialize(List);
Produces string value of:
[
{"name":"Sourav","surname":"Kayal"},
{"name":"Sourav","surname":"Kayal"},
]
詳細については、リファレンスの例-ここをクリックしてください
この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。
侵害の場合は、連絡してください[email protected]
コメントを追加