[英]Remove xml tags from json
Web方法以此格式返回json字符串。
<?xml version="1.0" encoding="utf-8"?>
<string xmlns="http://tempuri.org/">
[{"PKAdminUserId":1,"Username":"one","Password":"onep"},
{"PKAdminUserId":2,"Username":"two","Password":"twop"}]
</string>
由於這個原因,數據沒有綁定到表。 如果我將數據硬編碼到沒有xml/string
標簽的$scope.Users
,它可以正常工作。 如何從webmethod獲取json數據,不使用xml
或<string>
標記。
的.aspx:
<table>
<thead>
<tr>
<th>#</th>
<th>Username</th>
<th>Password</th>
</tr>
</thead>
<tbody>
<tr data-ng-repeat="User in Users track by $index">
<td>{{User.PKAdminUserId}}</td>
<td>{{User.Username}}</td>
<td>{{User.Password}}</td>
</tr>
</tbody>
</table>
的.asmx:
[WebMethod]
public string GetUsers()
{
AdminUser obj;
List<AdminUser> lstAdminUsers = new List<AdminUser>();
obj = new AdminUser();
obj.PKAdminUserId = 1;
obj.Username = "one";
obj.Password = "onep";
lstAdminUsers.Add(obj);
var json = new JavaScriptSerializer().Serialize(lstAdminUsers);
return json;
}
userCtrl.js:
$scope.Users = [];
$scope.GetUsers = function () {
var promise = Factory.GetUsers();
promise.then(function (success) {
console.log(success.data);
$scope.Users = success.data;
},
function (error) {
console.log("ERR : " + error);
})
}
解:
從@Sain Pradeep的鏈接找到我的解決方案。 以下是我的Web方法現在的樣子:
[WebMethod]
public void AddUsers()
{
AdminUser obj;
List<AdminUser> lstAdminUsers = new List<AdminUser>();
obj = new AdminUser();
obj.PKAdminUserId = 1;
obj.Username = "one";
obj.Password = "onep";
lstAdminUsers.Add(obj);
JavaScriptSerializer serializer = new JavaScriptSerializer();
Context.Response.Clear();
Context.Response.ContentType = "application/json";
HttpContext.Current.Response.Write((serializer.Serialize(
serializer.Serialize(lstAdminUsers))));
}
輸出:
[{"PKAdminUserId":1,"Username":"one","Password":"onep"}]
您應該直接將數據作為Json返回,而不是作為Xml(以避免包裝)。
嘗試更新您的網絡方法,如下所示:
[ScriptMethod(ResponseFormat = ResponseFormat.Json)]
[WebMethod]
public List<AdminUser> GetUsers()
{
AdminUser obj;
List<AdminUser> lstAdminUsers = new List<AdminUser>();
obj = new AdminUser();
obj.PKAdminUserId = 1;
obj.Username = "one";
obj.Password = "onep";
lstAdminUsers.Add(obj);
obj = new AdminUser();
obj.PKAdminUserId = 2;
obj.Username = "two";
obj.Password = "twop";
lstAdminUsers.Add(obj);
return lstAdminUsers;
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.