0

asp.net でハンドラーを使い始めたばかりで、質問が 1 つあります。このような構造の PostRequestPage.aspx ページがあります。

<asp:Label ID="lblTest" Text="Enter request" runat="server"></asp:Label>
    <br />
    <asp:TextBox ID="txtEmail" runat="server"></asp:TextBox>
    <br />
    <span id="error"></span>
    <br />
    <input type="button" id="btnSubmit" name="btnSubmit" value="Send" />

そして、次のように ajax post を使用して POST をハンドラーに送信します。

$(document).ready(function () {
            $('#btnSubmit').click(function() {
                var txtEmail = '<%=txtEmail.ClientID%>';
                $.ajax({
                    type: "POST",
                    url: "HandlerWithPOST.ashx",
                    data: $('#' + txtEmail).val(),                       
                    dataType:"json",                   
                });
            });
        })

ハンドラーで POST データを取得します。

using (var reader = new StreamReader(context.Request.InputStream))
                    {
 String requestFromPost = reader.ReadToEnd();
var result = JsonConvert.DeserializeObject<List<RootObject>>(requestFromPost);
}

次に、データを処理し、PostRequestPage.aspx ページに返す応答を取得します。

String jsonResult = JsonConvert.SerializeObject(new { result = results });

問題は、たとえば、jsonResult をラベルに表示するにはどうすればよいかということです。

4

3 に答える 3

0

コンテキストで応答を記述することができ、次のように ajax ヒットの成功ハンドラーで使用できます。

context.Response.Write(jsonResult)

$.ajax({
type: "POST",
url: "HandlerWithPOST.ashx",
data: $('#' + txtEmail).val(),                       
dataType:"json",                   
success: function (data) {
    console.log("your data from handler is")

console.log(data ? data.d : null) }
});

ありがとう、アビシェーク S.

于 2013-11-08T11:06:23.780 に答える
0

応答試行への書き込みデータの場合

context.Response.Write(jsonResult)

書き込みセットの前にも

context.Response.ContentType = "application/json";
于 2013-11-08T07:29:23.887 に答える
0

次のように ajax メソッドを拡張できます。

$.ajax({
    type: "POST",
    url: "HandlerWithPOST.ashx",
    data: $('#' + txtEmail).val(),                       
    dataType:"json",                   
    success: function (data) {
        // do some magic with your json data, like populating your label
    }   
});

jQuery.ajax() API を見てみましょう: http://api.jquery.com/jQuery.ajax/

于 2013-11-08T07:24:50.030 に答える