[HttpPost]
public JsonResult searchByName(string name)
{
dbCRMEntities dbx = new dbCRMEntities();
var test = name;
var names = dbx.CONTACTS.Where(chk => name == chk.NAME);
return this.Json(names, JsonRequestBehavior.AllowGet);
}
此方法以此格式返回数据:
[
{
"CONTACT_ID": 37,
"NAME": "umair",
"JOB_TITLE": "internee",
"COMPANY": "fastservices",
"PHONE": "244",
"EMAIL": "umairliaquat@gmail.com",
"WEB": "alskdjg",
"ADDRESS": "lahore",
"STATUS": "Inactive",
"TAGS": "sdf",
"LEAD_SOURCE": "partner",
"BACKGROUND": "skldjga",
"OWNER": "a",
"BIRTHDAY": "2014-12-18",
"EntityState": 2,
"EntityKey": {
"EntitySetName": "CONTACTS",
"EntityContainerName": "dbCRMEntities",
"EntityKeyValues": [
{
"Key": "CONTACT_ID",
"Value": 37
}
],
"IsTemporary": false
}
}
]
我的jquery方法是:
$(document).ready(function () {
$("#btn1").click(function () {
var name = $("#search").val();
//name = "ali";
alert(name);
$.post("/Status/searchByName", { name: name }, function (data) {
document.write(data);
$.each(data, function (key, value) {
});
}, "text");
});
});
我想在视图中以表格形式获取数据。请指导我
答案 0 :(得分:1)
需要将dataType
的{{1}}更改为$.post
。然后jQuery将返回一个对象数组作为'json'
参数。
现在在data
范围内,第一个参数将是each
,第二个参数将是单个对象
index
您还可以使用$.post("/Status/searchByName", { name: name }, function (data) {
$.each(data, function (index, item) {
var rowData =[];
rowData.push(item.CONTACT_ID);
rowData.push(item.COMPANY);
rowData.push(item.EntityKey.EntitySetName);
/* ETC */
var row ='<tr><td>' + rowData.join('</td><td>') +'</td></tr>';
$('table').append(row);
});
}, "json");
});
遍历每个对象中的每个属性,如果是原始值,则将其推入html
$.each