使用angularjs控制器获取json数据
在下面的代码中,我使用javascript序列化程序将数据转换为json对象。如何使用$http.get将json对象提取到名为UserCntrl的控制器,以便稍后在ng repeat中使用它使用angularjs控制器获取json数据,json,angularjs,Json,Angularjs,在下面的代码中,我使用javascript序列化程序将数据转换为json对象。如何使用$http.get将json对象提取到名为UserCntrl的控制器,以便稍后在ng repeat中使用它 [WebMethod] [ScriptMethod(ResponseFormat = ResponseFormat.Json)] public string GetUserDetails() { DataTable dt = new DataTable();
[WebMethod]
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
public string GetUserDetails()
{
DataTable dt = new DataTable();
using (SqlConnection con = new SqlConnection(GetConnectionString()))
{
using (SqlCommand cmd = new SqlCommand("select UserID=id,Username=username,Mail=email from users", con))
{
con.Open();
SqlDataAdapter da = new SqlDataAdapter(cmd);
da.Fill(dt);
System.Web.Script.Serialization.JavaScriptSerializer serializer = new System.Web.Script.Serialization.JavaScriptSerializer();
List<Dictionary<string, object>> rows = new List<Dictionary<string, object>>();
Dictionary<string, object> row;
foreach (DataRow dr in dt.Rows)
{
row = new Dictionary<string, object>();
foreach (DataColumn col in dt.Columns)
{
row.Add(col.ColumnName, dr[col]);
}
rows.Add(row);
}
return serializer.Serialize(rows);
}
}
}
[WebMethod]
[ScriptMethod(ResponseFormat=ResponseFormat.Json)]
公共字符串GetUserDetails()
{
DataTable dt=新的DataTable();
使用(SqlConnection con=newsqlconnection(GetConnectionString()))
{
使用(SqlCommand cmd=newsqlcommand(“选择UserID=id,Username=Username,Mail=email from users”,con))
{
con.Open();
SqlDataAdapter da=新的SqlDataAdapter(cmd);
da.填充(dt);
System.Web.Script.Serialization.JavaScriptSerializer serializer=新的System.Web.Script.Serialization.JavaScriptSerializer();
列表行=新列表();
字典行;
foreach(数据行dr在dt.行中)
{
行=新字典();
foreach(dt.列中的数据列列列)
{
行添加(列名称,dr[col]);
}
行。添加(行);
}
返回序列化程序。序列化(行);
}
}
}
而ul持有ng重复
<ul>
<li ng-repeat="item in items">
{{item.Username}}
</li>
</ul>
-
{{item.Username}
您可能需要调整一些东西,但这应该是可行的。我将您的http请求抽象到一个工厂,以便您可以将其用于任何控制器
app(you have to adjust this to your app).factory('userFactory', function ($http) {
var factory = {};
factory.get = function () {
return $http.get('your_rest_url', {}).then(function (resp) {
console.log('Success', resp);
}, function (err) {
console.error('ERR', err);
});
};
});
var UsrCtrl = function ($scope, userFactory) {
$scope.items = userFactory.get();
};