我正在使用asp mvc,我正在我的程序的一部分中获取数据
public List<IncidentPerAreaCount> getIncident()
{
int RondeboschCounter = 0;
int ClaremontCounter = 0;
int AthloneCounter = 0;
List<IncidentPerAreaCount> IncidentAreaCount = new List<IncidentPerAreaCount>();
IncidentPerAreaCount Rondebosch = new IncidentPerAreaCount();
IncidentPerAreaCount Claremont = new IncidentPerAreaCount();
IncidentPerAreaCount Athlone = new IncidentPerAreaCount();
List<Report> Reports = GetReports();
for (int i = 0; i < Reports.Count(); i++)
{
if (Reports.AsEnumerable().ElementAt(i).Area == "Rondebosch")
{
RondeboschCounter++;
}
else if (Reports.AsEnumerable().ElementAt(i).Area == "Claremont")
{
ClaremontCounter++;
}
else if (Reports.AsEnumerable().ElementAt(i).Area == "Athlone")
{
AthloneCounter++;
}
}
Rondebosch.AreaName = "Rondebosch";
Rondebosch.NumberOfIncidents = RondeboschCounter;
Claremont.AreaName = "Claremont";
Claremont.NumberOfIncidents = ClaremontCounter;
Athlone.AreaName = "Athlone";
Athlone.NumberOfIncidents = AthloneCounter;
IncidentAreaCount.Add(Rondebosch);
IncidentAreaCount.Add(Claremont);
IncidentAreaCount.Add(Athlone);
return IncidentAreaCount;
}
然后我试图通过Jquery
获取此字符串 var Reports = [];
$.ajax({
url: "Home/getIncident",
async: false,
dataType: 'json',
success: function (json) { Reports = json.whatever; }
});
alert(Reports);
然而,警报功能不断变空(即空文本框),而不是带有数据的json格式字符串。
请帮忙......
答案 0 :(得分:1)
您将警报放在错误的位置。
$.ajax({
url: "Home/getIncident",
async: false,
dataType: 'json',
success: function (json) {
Reports = json.whatever;
alert(Reports); // should be here.
}
});
答案 1 :(得分:1)
您可以将数据放在ajax的成功函数中,而不是在ajax之外。尝试在成功中移动警报,然后您将获得您的数据。
var Reports = [];
$.ajax({
url: "Home/getIncident",
async: false,
dataType: 'json',
success: function (json) {
Reports = json.whatever;
alert(Reports); //Right place
}
});
alert(Reports); // Wrong place
答案 2 :(得分:0)
我看到的第一件事是你没有序列化要返回的对象。你可以这样做
return new JavaScriptSerializer().Serialize(your_object);
并且在客户端你必须将json字符串转换为有效的Js对象,我使用&#34; d&#34; json响应字符串中的atribute
var theObject = $.parseJSON(response.d);
并且theObject具有您需要的属性。
最后我看到你的对象是一个列表,你可以使用$ .each
进行迭代