使用angularjs从Web服务读取数据

时间:2017-09-25 12:01:38

标签: angularjs

我试图从WS读取数据并将其附加到angularjs中的范围变量。

控制器API如下所示:

 public class ContactsController : ApiController
{
    // GET: api/Contacts
    public List<Contact> Get()
    {
        List<Contact> cl = new List<Contact>();
        SqlConnection con = new SqlConnection(ConfigurationManager.ConnectionStrings["MyConStr"].ConnectionString);
        SqlCommand cmd = new SqlCommand(@"SELECT * FROM Contacts", con);

        try
        {
            con.Open();
            SqlDataReader rdr = cmd.ExecuteReader();
            while (rdr.Read())
            {
                Contact c = new Contact();
                c.Name = rdr["Name"].ToString();
                c.Phone = (int)rdr["Phone"];
                c.Mail = rdr["Mail"].ToString();
                c.City = rdr["City"].ToString();
                c.Address = rdr["Address"].ToString();
                c.Image = rdr["Image"].ToString();
                cl.Add(c);
            }
            rdr.Close();
        }
        catch (Exception e)
        {

        }
        finally
        {
            con.Close();
        }
        return cl;
    }

HTML控制器如下所示:

controller: function ($scope, $http) {
                            var url = "http://example.com"
                            $http.get(url + "/api/Contacts").then(function (res) {
                                $scope.contacts = res.data;
                            }, function (err) { alert(err);});

但是res.data似乎什么也没包含。 任何帮助将不胜感激。

谢谢

1 个答案:

答案 0 :(得分:0)

您刚刚返回List<Contact>个对象,您可以直接使用response代替response.data

试试这段代码,而不是你的

$scope.contacts = res;

应检查return cl;是否返回任何结果