我想使用angular js从webservice获取数据。请帮助......
$http(
{
url: "xxx.asmx/GetLogin",
method: "GET",
params: { username: "admin", password: "admin" }
}
).success(function (res) { alert(res); });
我得到的结果如下:
<?xml version="1.0" encoding="utf-8"?><string xmlns="xxxx">[{"UserID":2,"UserName":"Admin","UserType":1,"Password":"admin","Company":1,"CreatedDate":"\/Date(1411151400000)\/"}]</string>
如何从此字符串中获取UserName和UserID?
答案 0 :(得分:0)
您是否有权访问服务器?
通过查看asmx
扩展名,我假设您使用的是.Net
服务器
您需要返回json
而不是xml
才能在客户端轻松处理。
关于从json
服务返回asmx
,请阅读here。
从技术上讲,您可以通过字符串操作(正则表达式或拆分)来访问UserName和UserID - 但这不是正确的方法。
这是一个额外的 UGLY和BAD 方式从字符串中提取数据:
var str = '<?xml version="1.0" encoding="utf-8"?><string xmlns="xxxx">[{"UserID":2,"UserName":"Admin","UserType":1,"Password":"admin","Company":1,"CreatedDate":"\/Date(1411151400000)\/"}]</string>';
var obj = str.split('[')[1].split(']')[0];
eval('var myRes = ' + obj + ';'); // ugly as hell
console.log(myRes.UserID);