我有以下代码:(为简化可读性)
C#
foreach(DataRow dRow in myDS.Tables[0].Rows){
Company myCompany = new Company();
myCompany.id = int.Parse(dRow["id"].ToString());
Companies.Add(myCompany);
}
JavaScriptSerializer serializer = new JavaScriptSerializer();
Response.Write(serializer.Serialize(Companies));
Response.End();
jQuery的
$.getJSON('ajax.aspx?what=' + $('input[name="what"]').val() + '&where=' + $('input[name="what"]').val(), function (data) {
$.each(data, function (key, val) {
var myCompany = new function () {
this.id = val.id;
}
Companies.push(myCompany);
});
});
现在,我在C#代码中有另一个对象,名为Cities
我想在同一请求中将其返回。
就像是
Response.Write(serializer.Serialize(Companies));
Response.Write(serializer.Serialize(Cities));
Response.End()
并在客户端将其解析。
我该怎么做?
参考方案
您可以将两个属性包装到一个匿名对象中:
var result = new { Cities = Cities, Companies = Companies };
Response.Write(serializer.Serialize(result);
Response.End();
或者,如果您使用的某些旧的.NET版本不支持匿名对象,则可以定义包装器类:
public class Wrapper
{
public IEnumerable<Cities> Cities { get; set; }
public IEnumerable<Company> Companies { get; set; }
}
然后:
Wrapper result = new Wrapper();
wrapper.Cities = Cities;
wrapper.Companies = Companies;
Response.Write(serializer.Serialize(wrapper);
Response.End();
还要修复AJAX调用,因为您没有正确地对参数进行url编码:
var data = {
what: $('input[name="what"]').val(),
where: $('input[name="what"]').val()
};
$.getJSON('ajax.aspx', data, function (data) {
$.each(data.Companies, function (index, val) {
var myCompany = new function () {
this.id = val.id;
}
Companies.push(myCompany);
});
});
如何在没有for循环的情况下在Javascript中使用Django模板标签 - javascript我想在JavaScript中使用模板变量:我的问题是在javascript代码中使用for循环,for循环之间的所有事情都会重复..但我不想要....下面粘贴了我的代码..有人可以告诉我更好的方法吗这..因为这看起来很丑..这是我的代码: {% block extra_javascript %} <script src="/static/js…
JSON PATH字段NULL检查表达式 - java我有一个像bellow的json数组:{ "store": { "book": [ { "category": "reference", "author": "Nigel Rees", "title": "Sa…
将字符串分配给numpy.zeros数组[重复] - pythonThis question already has answers here: Weird behaviour initializing a numpy array of string data (4个答案) …
Mongo抛出“元素名称'名称'无效”异常 - c#我正在更新一个简单的字段。var filterDocument = new BsonDocument { { "name", "alice" } }; var newDocument = new BsonDocument { { "name", "Alice" } }; coll…
JSON.parse需要转义哪些字符 - javascript我注意到您无法在JSON中保存1B(转义)以保存JSON.parse函数,您将得到SyntaxError: Unexpected token(在Google chrome中),需要将其写为unicde \u001b。我在Python中编写了json_serialize函数,我还需要转义字符串中的其他哪些字符?这…