簡體   English   中英

jQuery Ajax成功時不返回數據c#asp.net

[英]jquery ajax not returning data on success c# asp.net

我無法終生弄清楚為什么返回的數據為空。 在提琴手中,我看到了json

d=[{"response":[{"h":"h1"},{"h":"h1"}] }]

在提琴手中,我看到json的那一行有200個狀態,但是在那之后沒有其他行了(也許它沒有返回?)。 這是我正在使用的代碼

$('.SomeLink').click(function () {
    var sfn = $('#ID1').val();
    var sfp = $('#ID2').val();
    var sfi = $('#ID3').val();
    var gid = $('#ID4').val();
    $.ajax({
        type: "POST",
        cache: false,
        url: '/AjaxHandler.aspx/GetNewHtml',
        contentType: "application/json; charset=utf-8",
        data: "{'a':'" + sfn + "','b':'" + sfp + "','c':'" + gid + "','d':'" + sfi + "'}",
        dataType: "json",
        success: function (data) {
            alert(data.response[0].h); //acts like a syntax error/no alert box
            alert(data); // [object Object]
            alert(data.response); // undefined
            alert(data.response.count); //acts like a syntax error/no alert box
        },
        error: function (e) {
            alert("Error: " + e.responseText);
        }
    });
});

AjaxHandler.aspx

[System.Web.Services.WebMethod()]
public static string GetNewHtml(string a, string b, string c, string d)
{
    List<Samp> samp = new List<Samp>()
    {
        new Samp{h = "h1"},
        new Samp{h = "h1"}
    };
    return Serialize(new { response = samp });
}
private static string Serialize(object obj)
{
    JavaScriptSerializer serializer = new JavaScriptSerializer();
    return serializer.Serialize(obj);
}

班級

public class Samp
{
    public string h = "";
}

這是我第一次在asp.net中使用jquery ajax,所以我肯定我缺少一些可能相對簡單的東西。 我正在使用.Net 4.0,jQuery 1.7.1,IIS 7.5

嘗試使用data.d作為返回對象:

alert(data.d);

其在屬性名稱周圍的引號上跳脫。 嘗試字符串索引。 嘗試

data["response"][0]["h"]

返回h1

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM